Generiranje simbolne kode Bitrix. Pravila za oblikovanje kode PHP. Orodja za samodejno oblikovanje kode, nastavitev parametrov

Standardna mednarodna koda znakov, v kateri je vsak znak kodiran v sedmih bitih. Teme telekomunikacije, osnovni koncepti EN ISO 7...

koda ISO-7- Standardna mednarodna koda znakov (ISO 646 1973), v kateri je vsak znak kodiran s sedmimi ciframi. V ZDA se različica te kode imenuje ASCII. [E.S. Aleksejev, A.A. Angleško-ruski razlagalni slovar o inženirstvu računalniških sistemov. Moskva 1993]…… Priročnik za tehnične prevajalce

Koda (v digitalnem računalniku)- Koda v digitalnem računalniku, običajen sistem znakov za predstavitev informacij v digitalnem računalniku. Vsak K. uporablja znake svoje abecede. Za večino K. abecede so dvočrkovne ali sestavljene iz črk dvočrkovne abecede. K.-jeva fizična oblika je odvisna od značaja ... ...

Koda letalske družbe IATA- Koda letalskega prevoznika IATA, 2- ali 3-mestni individualni identifikator, ki ga je letalskemu prevozniku dodelilo Mednarodno združenje letalskih prevoznikov (IATA). Ta koda je dodeljena v skladu z resolucijo IATA št. 762 s strani sedeža združenja v ... ... Wikipedia

Koda- I (francoski kodeks, iz latinščine codex kodeks zakonov) sistem konvencionalnih znakov (simbolov) za prenos, obdelavo in shranjevanje (pomnjenje) različnih informacij. Končno zaporedje kodnih znakov se imenuje beseda. Število različnih znakov ... ... Velika sovjetska enciklopedija

RADIX-50- simbolna koda, ki vam omogoča, da zapišete tri znake v eno 16-bitno besedo. Uporablja se predvsem v miniračunalnikih, predvsem družine PDP 11 (SM computer), za shranjevanje imen datotek v datotečnih sistemih OS RT 11 in RSX 11, imen modulov... ... Wikipedia

ESCON- (Enterprise Systems Connection) vmesnik optičnega kanala, ki omogoča izmenjavo informacij med strežnikom IBM zSeries in perifernimi napravami (ali drugim strežnikom). Prvič uporabljen v arhitekturnih strežnikih... Wikipedia

naslov- samostalnik, m., uporabljen. pogosto Morfologija: (ne) kaj? naslovi, kaj? naslov, (videti) kaj? naslov, kaj? naslov, o čem? o naslovu; pl. Kaj? naslovi, (ne) kaj? naslovi, kaj? naslovi, (vidim) kaj? naslovi, kaj? naslovi, o čem? o naslovih 1. Naslov nekoga ... ... Dmitrijev razlagalni slovar

ID opravila- Koda znaka, dodeljena opravilu, ki se izvaja ali je pripravljeno za izvajanje. [Domarev V.V. Varnost informacijske tehnologije. Sistematični pristop.] Teme informacijska varnost EN identifikator nalog ... Priročnik za tehnične prevajalce

Pascal (programski jezik)- Ta člen ali razdelek je treba pregledati. V Pascalu ni modulov, OOP ali drugih novodobnih trendov. Opisi razširitev morajo biti prisotni samo v člankih o ustreznih ... Wikipedia

Pascal (jezik)- Pascal Semantika: proceduralno Vrsta izvajanja: prevajalnik Nastal leta: 1970 Avtor(ji): Niklaus Wirth Pascal je visokonivojski programski jezik za splošne namene. Eden najbolj znanih programskih jezikov, široko ... ... Wikipedia

knjige

  • Jezikovnokulturna metoda v frazeologiji. Kode kulture, M. L. Kovshova. Monografija je posvečena lingvokulturološki študiji frazeoloških enot - jezikovnih znakov, ki figurativno shranjujejo in prenašajo iz roda v rod vrednostne sisteme nacionalnega... Kupite za 1053 UAH (samo Ukrajina)
  • Lingvokulturološka metoda v frazeologiji Kodi kulture, M. Kovshova je posvečena lingvokulturološkemu preučevanju frazeoloških enot - jezikovnih znakov, ki figurativno hranijo in prenašajo iz roda v rod vrednostne sisteme nacionalnega...

Datum objave: 12.12.2011

Pred dnevi sem moral ustvariti kode znakov za razdelke in elemente informacijskega bloka »Katalog pohištva« v Bitrixu.

Kaj se je zgodilo koda znakov v razdelku ali elementu informacijskega bloka v Bitrixu? Simbolična koda elementa (odseka) informacijskega bloka v Bitrixu pomeni mnemonični identifikator, ki je niz znakov (latiničnih črk in številk). Ta mnemonični identifikator se lahko uporablja za ustvarjanje naslovov povezav za dinamične strani na spletnem mestu. Na primer, če ima element "Sofa Cosmos" iz razdelka "Oblazinjeno pohištvo" simbolično kodo "divan-cosmos", potem lahko povezava na spletnem mestu izgleda kot - "/catalog/myagkaya-mebel/divan-cosmos"

Naredi se v enem zamahu, glavno vprašanje je bilo, na kakšen način transliterirati. Prva misel je ustvariti nekakšno lastno metodo. Takoj sem ga odmaknil. Iz preprostega razloga, ker - navsezadnje, kako so te simbolne kode ustvarjene v CMS? Kako nastanejo? Torej obstaja metoda! Ja, je.

Obstaja tako preprosta funkcija, ki iz nekega razloga še vedno ni opisana v uradni dokumentaciji Bitrix API. (v času pisanja tega članka (december 2011) v dokumentaciji ni bilo omenjeno)

CUtil::translit($str, $lang, $params = array())

Funkcija prečrkuje niz $str iz jezika $lang s parametri $params.

Parametri polja $params:

V novih različicah jedra (videl sem ga v 11.5.2) se je pojavil nov parameter "safe_chars", privzeto na "", in tudi komentiral "use_google", privzeto na false.

PRIMER UPORABE:

"-","replace_other"=>"-"); $trans = Cutil::translit($name,"ru",$arParams); echo $trans; ?>

UPD. Vprašanje je bilo zastavljeno v komentarjih:
"Ali je mogoče preprosto napisati nekaj v Bitrixu, tako da se CNC ustvari pri uvozu informacijskih blokov?"
Vprašanje je nekorektno in težko razumljivo. Toda kot poseben primer bom dal ta primer -
Naloga je ustvariti simbolne kode za izdelke pri uvozu trgovskega kataloga iz CSV.

"-","replace_other"=>"-"); $trans = Cutil::translit($name,"ru",$arParams); $arFields["CODE"] = $trans; ) ) ?>

Tako se bo pri uvozu iz datoteke CSV avtomatsko generirala simbolna koda - transliteracija iz imena.

Pomembno UPD2.

Ljudje so začeli postavljati vprašanja o tem, da translit ne deluje, glejte komentarje. Odločil sem se, da bom to ugotovil, vendar težave ne morem reproducirati na nobenem od mojih trenutnih ali starih projektov - zame je vse v redu. Ampak ljudje ne?

REŠITEV!

Težava je posledica kodiranja. Dodaj v .htaccess:

php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8

Kaj storiti, če to ne pomaga? Pojdite na skrbniško ploščo na stran »preverjanje spletnega mesta« in zaženite preverjanje. Če ček še vedno vsebuje sporočilo o napačnem kodiranju, ne bodite razburjeni. Bodisi se morate obrniti na gostitelja, da popravi te nastavitve, ali pozabiti na standardno funkcijo translit in napisati svojo. (In tudi nehajte se presenečati nad vsemi drugimi napakami zaradi kodiranja).

Za sodoben velik projekt je običajno treba uporabiti CNC za strani. Pozitivno vpliva na indeksiranje strani in rezultate.

CNC - človeku razumljiv URL. Z drugimi besedami, to je del naslova URL, prečrkovan v latinici. O transkripciji ruske abecede v PHP smo že razpravljali. Bitrix ima takšno funkcijo; uporablja se na primer, ko se ustvari nov element ali razdelek informacijskega bloka, iz njegovega imena se ustvari simbolna koda tega elementa ali razdelka. Toda kaj storiti, če so elementi že ustvarjeni, vendar simbolne kode niso registrirane. Poglejmo rešitev za ta primer:

"inc",); $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //ime mesta //"CODE" => "", //"CODE" => false); $arTransParams = niz(//(največja dolžina kode,case(spodnji,zgornji,ne spremeni), //zamenjaj presledek z...,spremeni druge znake z...,odstrani dodatne nadomestne znake) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - ne spreminjaj "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace " => res); if($arParams["TYPE_WORK"] == "oddelek")(//za razdelke $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] ); odmev "
"; while($ar_res = $db_elemens->GetNext()) ( $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams); $arPropArray = Array("CODE" => $transName = nov CIBlockSection; $res = $el->Update($ar_res["ID"], $arPropArray); ".$ar_res["IME"]." je ".$transName."".($res?" in OK":" in neuspešno")."\r\n"; ) echo "
"; )elseif($arParams["TYPE_WORK"] == "element")(//za elemente $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams[" LIST_CNT"])); odmev "
"; //za formatiran izhod rezultata generiranja while($obElement = $db_elemens->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res[" NAME" ]), "ru", $arTransParams);//funkcija za generiranje sim kode iz imena $arPropArray = Array("CODE" => $transName."-".$ar_res["ID"],) ;//k končani kodi dodamo "predpono" - "-id" $el = new CIBlockElement = $el->Update($ar_res["ID"], $arPropArray); , prepišite kodo za ta element echo $ transName."-".$ar_res["ID"]." 
"; //izdaj rezultat ) echo "
"; } ?>

PHP skript večkrat zaženite v ločeni datoteki ali v PHP konzoli v skrbniški plošči Bitrixa, dokler se sporočila o uspešnem ustvarjanju simbolne kode ne prenehajo pojavljati. Posledično se bo v polju »Character code« pojavil latinični niz v obliki ustreznega CNC.

Otroške smuči: lyzhi-detskie
LEGO igrača: igrushka-lego

Tipkano besedilo je sestavljeno iz tiskanih znakov – grafičnih znakov.
Grafični simboli so simboli, ki imajo viden prikaz v besedilu.
Vsi grafični simboli so zbrani v nizu enotnega univerzalnega sistema Unicode.
V dokument html vstavite grafični simbol Unicode
- glavni in edini namen te tabele.

Simbol lahko vstavite v dokument HTML na enega od naslednjih načinov:

  1. kopirajte sliko simbola iz okna brskalnika v okno vašega vizualnega urejevalnika html
  2. kopirajte html kodo simbola neposredno v kodo dokumenta html
Zavedajte se, da gre za dve različni metodi:
  1. vstavi vizualno v vizualno
  2. vstavite kodo v kodo.

Pisavo za simbol, njegovo velikost in barvo v HTML lahko nastavite s kodo, kot je:
CHARACTER_CODE
Kje,
Arial - pisava,
10px - velikost pisave v slikovnih pikah,
#ff0000 - barvna koda pisave (rdeča)

Na primer:
☎ - velikost pisave znakov 30px,
☎ - velikost pisave simbola 30px, barva - rdeča
☎ - velikost pisave znakov 20px,
☎ - velikost pisave simbola 10px.
Opomba Priporočene pisave za vstavljanje posebnih znakov so Arial, Verdana in Tahoma. Te pisave pravilno prikazujejo znake Unicode in jih spletne aplikacije same pravilno podpirajo.

  1. "Simbol"
    (prikaz vidnega simbola)
    Iz tega stolpca lahko kopirate sliko simbola in jo prilepite v okno urejevalnika besedila html. Simbol bo kopiran z velikostjo pisave 20px. Ko je kopiranje končano, bo morda treba individualno prilagoditi velikost pisave neposredno kopiranemu znaku.
  2. "ime"
    (samo za pomembne ali nejasne znake)
    Razlaga namena simbola, obsega, primeri...
  3. "Mnemotehnika"
    Mnemonika je abecedna konstrukcija oblike ", ki označuje abecedno kodo znaka v HTML. Vstavi se neposredno v kodo html dokumenta html. Mnemonika je zelo priljubljena med profesionalnimi oblikovalci postavitev. Ljudje si jo popolnoma zapomnijo in podpirajo vse html aplikacije. Vsaka mnemonika vsebuje abecedno ime (oznako) svojega simbola in servisni znak (&), ki brskalniku služi kot signal za branje kode in ni prikazan na zaslonu monitorja vsakega mnemonika je edinstven in lahko berljiv, ker izhaja iz angleške besede, ki označuje simbol.

    Mnemotehnika (grško) - umetnost zapomniti si nekaj. Mnemotehnika se uporablja za olajšanje zaznavanja težko zapomnljivih informacij, ko se predmet pomnjenja spravi v asociativno stanje z nečim.

  4. "Koda"
    Koda - številčna decimalna koda znaka v HTML, na primer &. Vstavljen neposredno v kodo html dokumenta html. Decimalna koda je sestavljena iz številke, ki označuje zaporedno številko znaka v sistemu Unicode, in več servisnih znakov (& in #), ki brskalniku služijo kot signal za branje kode in niso prikazani na zaslonu monitorja. Decimalna koda se pogosto uporablja in uporablja zaradi svoje vsestranskosti in enostavnosti razumevanja.

Kontrolni znaki v HTML (XHTML)

Kontrolni znaki v HTML (XHTML) so servisni znaki jezika HTML, ki se uporabljajo v postavitvi HTML spletne strani. Vsak brskalnik mora podpirati te znake, saj brez njih ni mogoče pravilno prikazati besedila HTML. Kontrolni znaki niso prikazani v besedilu in jih brskalnik, ko jih vnesete neposredno s tipkovnice, razlaga kot ločila, ki pozivajo k izvedbi nekega dejanja, ko je stran narisana na zaslonu.

Dovoljena je uporaba kontrolnih znakov v običajnih besedilih, kjer simbolizirajo univerzalne koncepte in jih brskalnik interpretira kot običajne tipkarske znake. Ko na ta način uporabljate storitvene simbole v besedilih HTML, ne morate vnesti vrednosti samega simbola, temveč njegovo kodo HTML. Ker, ponavljam, sicer bo brskalnik simbol storitve zaznal kot poziv k dejanju in ne bo pravilno prikazal besedila HTML na zaslonu monitorja.

Kontrolne simbole in njihovo kodo HTML poznajo in razumejo vsi brskalniki brez izjeme, kar pa žal ne moremo reči za druge simbole, ki so lahko v različnih brskalnikih prikazani nepravilno ali, še huje, sploh niso prikazani.

Skladnja in ločila

prostor dolžine N (navaden prostor)
prostor dolžine M (longspace)
- mehki vezaj (nenatisljiv znak) - ­
pomišljaj –
- pomišljaj dolžine N (navaden pomišljaj) -
pomišljaj dolžine M (em pomišljaj)
. pika .
, vejica ,
elipse …
: debelo črevo :
; podpičje ;
! klicaj !
ǃ
? vprašaj ?
@ "pes" @
* "zvezda" *
# "mreža" #
enojni zgornji levi narekovaj ‘
enojni zgornji desni narekovaj ’
enojni spodnji desni narekovaj ‚
dvojni zgornji levi narekovaj “
dvojni zgornji desni narekovaj ”
dvojni spodnji desni narekovaj &bdquo „
« dvojni levi kotni narekovaj (Rus) « «
» dvojni desni kotni narekovaj (Rus) » »
́ naglasno znamenje, primer: Vasya ́
" apostrof, primer: ti"jaz "
´ akutno, primer: Vasya ´ ´
odstavek (nenatisljiv znak)
§ odstavek § §
ˆ naglas (obrnjena ptica) ˆ ˆ
ˆ
˜ mala tilda ˜ ˜
˜
¦ navpična pikčasta črta ¦ ¦
( levi oklepaj (
) desni oklepaj )
levi kotni oklepaj
desni kotni oklepaj
levi kotni oklepaj, možnost
desni kotni oklepaj, možnost
[ oglati oklepaj levo [
] oglati oklepaj desno ]
/ poševnica - poševnica /
\ poševnica nazaj \
poševnica (znak za deljenje)
ǀ navpična vrstica ǀ
ǁ dvojna navpična črta ǁ
nadčrtano, primer: Vasya‾vasya
¯ macron, primer: Vasya¯vasya ¯ ¯

Blagovne znamke in valuta

+ plus + +
minus -
= enako =
± plus ali minus ± ±
× znak za množenje × ×
÷ znak delitve ÷ ÷
operator pike (sredina vrstice) ·
operator zvezdica (sredina vrstice)
operator tilda
. oznaka seznama (sredina vrstice) . •
¹ nadnapis "1" ¹ ¹
² nadnapis "2" ² ²
³ nadnapis "3" ³ ³
Nad in pod indeks v HTML (XHTML)
lahko vstavite z uporabo oznak in oziroma:
ŠTEVILKA Nadnapis→ ŠTEVILKA nadnapis
ŠTEVILKA indeks→ ŠTEVILKA Subscript
½ ulomek "ena polovica" ½ ½
ulomek "ena tretjina"
¼ ulomek "ena četrtina" ¼ ¼
¾ ulomek "tri četrtine" ¾ ¾
številski znak
% odstotkov %
ppm ‰
° stopnje ° °
prime (minute, čevlji)
dvojno praštevilo (sekunde, palci)
Primer 1: 30° 25′ 12″
Primer 2: 25′ 12
µ mikro µ µ
π Pi π π
ƒ funkcijski znak
(ne zamenjujte z "integral")
ƒ ƒ
ƒ
integral
čez ničlo, prazen niz
(ne zamenjujte s "premer")
premer (ne zamenjujte s prečrtanim latinskim "o")
ø Latinski "o" diagonalno prečrtan ø ø
Ø Latinska velika črka "O" diagonalno prečrtana Ø Ø
delovna oznaka
znak za seštevek
radikalen
(kvadratni koren ali x koren)
sorazmerno
neskončnost
kotiček
pravokoten (pravokoten)
znak "zato"
približno enako
skoraj enaka
ni enako
enako
manj ali enako
več ali enako
logični IN
logični ALI
znak plus v krogu
(neposredni znesek)
znak za množenje v krogu
(križni produkt, puščica od opazovalca)
ʘ pika v krogu
(puščica proti opazovalcu)
ʘ

✵ ✵

Če oblikovanje kode ni določeno v tem razdelku, mora biti koda oblikovana v skladu s PSR-2

  • Tabulator se uporablja kot zamik v kodi.
  • Začetni zavit oklepaj je v isti vrstici.
  • Zaključni zavit oklepaj je v novi vrstici.

Koda za komentiranje

Komentiranje kode PHP je njen sestavni del!

Ko komentirate kodo, uporabite komentarje PHPDoc.

Za enovrstične pojasnjevalne komentarje v vaši kodi lahko uporabite navadne komentarje, ki se začnejo z // .

Spremenljivke

Osnovno pravilo za poimenovanje spremenljivk je, da mora biti ime takšno, da ne zahteva komentarja, ki bi pojasnil namen spremenljivke.

Predpone

Imena spremenljivk uporabljajo naslednje predpone:

  • ar- za nize
  • db- za CDBResult
  • b- za logične spremenljivke, če ni razvidno iz imena. Predpona je obvezna, če je logična vrednost uporabljena tam, kjer bi bila običajno shranjena vrednost niza Da/Ne.

$arUserList = array(); $dbRes = CIBlockElement::GetByID($id); $bActive = false;

Imena spremenljivk se ne smejo začeti s podčrtajem.

Globalne spremenljivke

Globalne spremenljivke so zapisane z VELIKIMI črkami, ločene s podčrtaji.

Globalni $USER, $APPLICATION, $AR_MESSAGES.

Uporaba globalnih spremenljivk je dovoljena le, kadar je to nujno potrebno. Uporabite, kar vam D7 ponuja, kjer vam daje!

Lokalne spremenljivke

Lokalne spremenljivke skripta (funkcija, metoda, razred) se vedno začnejo z malo črko, besede so ločene z velikimi črkami prvega znaka (camelCase).

To pravilo velja za okrajšave.
Tisti. Postaja BBC se piše $bbcStation; $arBbcStations; .

Obstaja le ena izjema - ID je napisan z velikimi črkami.
Tisti. $sectionID, $arElementIDs.

$števec = 0; $bElementActive = false; $lastErrorMsg = ""; $ID = $_GET["ID"];

Pomožne (začasne) spremenljivke

Spremenljivke, uporabljene v konstrukcijah FOR... FOREACH, lahko imenujemo skrajšano, če si kodo bloka, v katerem so uporabljene, ogledamo brez premikanja po strani.

Za ($i = 0; $i< count($arRows); $i++) { // ... } foreach ($arElement as $k =>$v) ( // ... ) medtem ko ($arr = $dbRes->Fetch()) ( // ... )

Konstante

Imena stalnic pišemo z VELIKIMI tiskanimi črkami, besede ločimo s podčrtajem. Zaradi globalnega obsega mora biti pred konstantami kratka predpona (z imenom modula, komponente, predloge).

Kode znakov Bitrix

Simbolne kode v Bitrixu so potrebne za veliko stvari, zato se morate držati istega imena. Koda znakov mora biti napisana z latiničnimi črkami, brez številk ali posebnih znakov in mora odražati bistvo informacijskega bloka, razdelka ali elementa.

Poimenovanje razredov, metod, funkcij

  • Imena razredov se vedno začnejo z veliko začetnico. Besede so ločene z veliko začetnico prve črke. (CamelCase)
  • Imena metod in funkcij se vedno začnejo z malo črko. Besede so ločene z veliko začetnico prve črke. (camelCase)

Zaradi globalnega obsega funkcij naj se njihova imena začnejo s kratko predpono (po imenu modula, komponente, predloge).

Registracija upravljavskih struktur

Splošno pravilo za nadzorne strukture je, da je logični blok kode zamaknjen.

Če se blok ne prilega enemu zaslonu, se naredi zamik vsaj dveh zavihkov. Velik blok kode, dodeljen enemu logičnemu elementu, mora biti ločen z dvema ali več praznimi vrsticami in opremljen z začetnimi in končnimi komentarji, ki pojasnjujejo logiko elementa.

Orodja za samodejno oblikovanje kode, nastavitev parametrov

[Vtičniki za SublimeText]

  • PhpDoc - Pravzaprav vtičnik za podporo formatu PHPDoc.
  • phpfmt - vtičnik za samodejno oblikovanje kode php (zahteva nameščen php).

Konfiguracija za vtičnik phpfmt.