Bitrix simboliskais kods ko. PHP koda izstrādes noteikumi

26.11.2023

Mūsdienīgam lielam projektam parasti lapām ir jāizmanto CNC. Tas pozitīvi ietekmē vietnes indeksēšanu un rezultātus.

CNC - cilvēkam saprotams URL. Citiem vārdiem sakot, šī ir vietrāža URL latīņu transliterācija. Mēs jau esam apsprieduši krievu alfabēta transliterāciju PHP. Bitrix ir tāda funkcija, to izmanto, piemēram, veidojot jauns elements vai informācijas bloka sadaļa, šī elementa vai sadaļas simboliskais kods tiek ģenerēts no tā nosaukuma. Bet ko darīt, ja elementi jau izveidoti, bet simboliskie kodi nav reģistrēti. Apskatīsim risinājumu šim gadījumam:

"ieskaitot",);
$arFilter = masīvs("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //vietnes nosaukums //"CODE" => "", //"KODS" => false); $arTransParams = masīvs (//(maksimālais koda garums, reģistrs (apakšējais, augšējais, nemaina),) //aizstāt atstarpi ar...,aizstāt atlikušās rakstzīmes ar...,noņemt papildu aizvietošanas rakstzīmes) "max_len" => 100 , "change_case" => "L", // "L" - to Lower, "U" - toUpper, false - nemaina "replace_space" => "-", "replace_other" => "-", "delete_repeat_aizvietot " => taisnība); if($arParams["TYPE_WORK"] == "sadaļa")(//sadaļām $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] atbalss "; "; while($ar_res = $db_elemens->GetNext()) ( $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams); $arPropArray = Array("CODE" => $transName); $el = new CIBlockSection; $res = $el->Update($ar_res["ID"], $arPropArray);".$ar_res["NAME"]."
ir
".$transName." 
"; //izvadiet rezultātu ) echo "
"; } ?>

Palaidiet PHP skriptu vairākas reizes atsevišķu failu vai PHP konsolē Bitrix administratora panelī, līdz pārstāj parādīties ziņojumi par veiksmīgu simboliskā koda ģenerēšanu. Rezultātā laukā “Rakstzīmju kods” parādīsies latīņu virkne atbilstošā CNC formātā.

Bērnu slēpes: lyzhi-detskie
LEGO rotaļlieta: igrushka-lego

Standarta starptautiskais rakstzīmju kods, kurā katra rakstzīme ir kodēta septiņos bitos.

Tēmas telekomunikācijas, pamatjēdzieni EN ISO 7... kods ISO-7 - Standarta starptautiskais rakstzīmju kods (ISO 646 1973), kurā katra rakstzīme ir kodēta ar septiņiem cipariem. ASV šī koda versiju sauc par ASCII. [E.S. Aleksejevs, A.A. Angļu-krievu skaidrojošā vārdnīca par datorsistēmu inženieriju. Maskava 1993]……

Tehniskā tulkotāja rokasgrāmata Kods (digitālajā datorā)

- Kods digitālajā datorā, parastā zīmju sistēma informācijas pasniegšanai digitālajā datorā. Katrs K. izmanto sava alfabēta zīmes. Lielākajai daļai K. alfabētu ir divas rakstzīmes vai tie sastāv no divu rakstzīmju alfabēta burtiem. K. fiziskā forma ir atkarīga no rakstura...... IATA aviokompānijas kods

- IATA aviokompānijas koda 2 vai 3 rakstzīmju individuālais identifikators, ko aviokompānijai piešķīrusi Starptautiskā gaisa transporta asociācija (IATA). Šo kodu saskaņā ar IATA rezolūciju Nr. 762 piešķir asociācijas galvenā mītne ... ... Vikipēdijā Kods - I (franču kods, no latīņu kodeksa likumu kodekss) nosacīto zīmju (simbolu) sistēma dažādas informācijas pārraidīšanai, apstrādei un uzglabāšanai (iegaumēšanai). Galīgo koda rakstzīmju secību sauc par vārdu. Dažādu rakstzīmju skaits......

Lielā padomju enciklopēdija RADIX-50 - simbolisks kods, kas ļauj vienā 16 bitu vārdā ierakstīt trīs rakstzīmes. Izmanto galvenokārt minidatoros, galvenokārt PDP 11 saimē (SM datorā), lai saglabātu failu nosaukumus failu sistēmas

OS RT 11 un RSX 11, moduļu nosaukumi... ... Wikipedia ESCON

- (Enterprise Systems Connection) šķiedras kanāla saskarne, kas nodrošina informācijas apmaiņu starp IBM zSeries serveri un perifērijas ierīcēm (vai citu serveri). Pirmo reizi izmantots arhitekturos... Wikipedia adrese - lietvārds, m., lietots. bieži Morfoloģija: (nē) kas? adreses, ko? adrese, (skat) ko? adrese, ko? adrese, par ko? par adresi; pl. ko? adreses, (nē) ko? adreses, ko? adreses, (redzu) ko? adreses, ko? adreses, par ko? par adresēm 1. Kāda adrese... ... Vārdnīca

Dmitrijeva- Rakstzīmju kods, kas piešķirts uzdevumam, kas darbojas vai ir gatavs izpildei. [Domarevs V.V. Drošība informācijas tehnoloģijas. Sistemātiska pieeja.] Tēmas informācijas drošība EN uzdevuma identifikators ... - Standarta starptautiskais rakstzīmju kods (ISO 646 1973), kurā katra rakstzīme ir kodēta ar septiņiem cipariem. ASV šī koda versiju sauc par ASCII. [E.S. Aleksejevs, A.A. Angļu-krievu skaidrojošā vārdnīca par datorsistēmu inženieriju. Maskava 1993]……

Pascal (programmēšanas valoda)- Šis raksts vai sadaļa ir jāpārskata. Pascal nav moduļu, OOP vai citu jaunu tendenču. Paplašinājumu aprakstiem vajadzētu būt tikai rakstos par atbilstošo ... Wikipedia

Paskāls (valoda)- Pascal Semantics: procedural Izpildes veids: kompilators Parādījās: 1970 Autors(-i): Niklaus Wirth Pascal ir augsta līmeņa vispārēja lietojuma programmēšanas valoda. Viena no slavenākajām programmēšanas valodām, plaši... ... Wikipedia

Grāmatas

  • Lingvistiskā un kultūras metode frazeoloģijā. Kultūras kodeksi, M. L. Kovshova. Monogrāfija ir veltīta frazeoloģisko vienību lingvokultūras izpētei - valodas zīmēm, kas tēlaini glabā un no paaudzes paaudzē nodod nacionālās vērtību sistēmas... Pirkt par 1053 UAH (tikai Ukraina)
  • Lingokultūras metode frazeoloģijā Kultūras kodi, M. Kovshova Monogrāfija ir veltīta frazeoloģisko vienību - valodas zīmju, kas tēlaini glabā un nodod no paaudzes paaudzē nacionālo vērtību sistēmas, lingvokulturoloģiskai izpētei.

Ja koda formatējums šajā sadaļā nav norādīts, kods jāformatē saskaņā ar PSR-2

  • Tab tiek izmantota kā atkāpe kodā.
  • Atvēršanas cirtaini skava atrodas tajā pašā līnijā.
  • Noslēdzošais cirtainais skava atrodas jaunā līnijā.

Komentēšanas kods

PHP koda komentēšana ir tā neatņemama sastāvdaļa!

Komentējot kodu, jāizmanto PHPDoc komentāri.

Viena rindiņa paskaidrojošiem komentāriem savā kodā varat izmantot parastos komentārus, kas sākas ar // .

Mainīgie

Mainīgo nosaukšanas pamatnoteikums ir tāds, ka nosaukumam jābūt tādam, lai nav nepieciešami komentāri, lai izskaidrotu mainīgā mērķi.

Prefiksi

Mainīgo nosaukumos tiek izmantoti šādi prefiksi:

  • ar- masīviem
  • db- CDBResult
  • b- Būla mainīgajiem, ja tas nav skaidrs no nosaukuma. Prefikss ir nepieciešams, ja tiek izmantota Būla vērtība vietā, kur parasti tiek saglabāta virknes vērtība J/N.

$arUserList = masīvs(); $dbRes = CIBlockElement::GetByID($id); $bActive = false;

Mainīgo nosaukumi nedrīkst sākties ar pasvītrojumu.

Globālie mainīgie

Globālie mainīgie tiek rakstīti ar LIELajiem burtiem, atdalot tos ar pasvītrojumiem.

Globālais $USER, $APPLICATION, $AR_MESSAGES.

Globālo mainīgo izmantošana ir atļauta tikai tad, ja tas ir absolūti nepieciešams. Izmantojiet to, ko D7 jums sniedz, kur tas jums dod!

Vietējie mainīgie

Skripta lokālie mainīgie (funkcija, metode, klase) vienmēr sākas ar mazo burtu, vārdi tiek atdalīti ar pirmās rakstzīmes lielo burtu (camelCase).

Šis noteikums attiecas uz saīsinājumiem.
Tie. BBC stacija ir rakstīta $bbcStation; $arBbcStations; .

Ir tikai viens izņēmums – ID raksta ar lielajiem burtiem.
Tie. $sectionID , $arElementIDs .

$skaitītājs = 0; $bElementActive = false; $lastErrorMsg = ""; $ID = $_GET["ID"];

Papildu (pagaidu) mainīgie

Mainīgos, kas tiek izmantoti FOR... FOREACH konstrukcijās, var saukt par saīsinātiem, ja tā bloka kods, kurā tie tiek izmantoti, tiek skatīts bez lapas ritināšanas.

For ($i = 0; $i< count($arRows); $i++) { // ... } foreach ($arElement as $k =>$v) ( // ... ) kamēr ($arr = $dbRes->Fetch()) ( // ... )

Konstantes

Pastāvīgos nosaukumus raksta ar LIELajiem burtiem, vārdus atdala ar pasvītrojumu. Globālās darbības jomas dēļ pirms konstantēm ir jāievieto īss prefikss (pēc moduļa, komponenta, veidnes nosaukuma).

Bitrix rakstzīmju kodi

Simboliskie kodi Bitrix ir nepieciešami daudzām lietām, un tāpēc jums vajadzētu pieturēties pie tā paša nosaukuma. Rakstzīmju kodam jābūt rakstītam ar latīņu burtiem, bez cipariem vai speciālajām rakstzīmēm, un tam jāatspoguļo informācijas bloka, sadaļas vai elementa būtība.

Klašu, metožu, funkciju nosaukšana

  • Klašu nosaukumi vienmēr sākas ar lielo burtu. Vārdi tiek atdalīti ar pirmo burtu lielo burtu. (CamelCase)
  • Metožu un funkciju nosaukumi vienmēr sākas ar mazu burtu. Vārdi tiek atdalīti ar pirmā burta lielo burtu. (kamieļa korpuss)

Funkciju globālās darbības jomas dēļ to nosaukumiem jāsākas ar īsu prefiksu (ar moduļa, komponenta, veidnes nosaukumu).

Pārvaldības struktūru reģistrācija

Parasti kontroles struktūrām tiek izmantota tāda, ka loģiskajam koda blokam ir atkāpe.

Ja bloks neietilpst vienā ekrānā, tiek veikta vismaz divu cilņu atkāpe. Liels koda bloks, kas piešķirts vienam loģiskajam elementam, ir jāatdala ar divām vai vairākām tukšām rindām un jāpievieno sākuma un beigu komentāri, kas izskaidro elementa loģiku.

Rīki automātiskai koda formatēšanai, parametru iestatīšanai

[SublimeText spraudņi]

  • PhpDoc - patiesībā spraudnis, kas atbalsta PHPDoc formātu.
  • phpfmt - spraudnis php koda automātiskai formatēšanai (nepieciešams instalēt php).

Spraudņa konfigurācija phpfmt.

Rakstāmmašīnas teksts sastāv no drukātām rakstzīmēm – grafiskiem simboliem.
Grafiskie simboli ir simboli, kas ir redzami tekstā.
Visi grafiskie simboli ir apkopoti vienas universālas Unikoda sistēmas komplektā.
Ievietot grafiskais simbols Unikoda uz html dokumentu
- šīs tabulas galvenais un vienīgais mērķis.

Simbolu HTML dokumentā var ievietot vienā no šiem veidiem:

  1. kopējiet simbola attēlu no pārlūkprogrammas loga vizuālā html redaktora logā
  2. iekopējiet simbola html kodu tieši html dokumenta kodā
Lūdzu, saprotiet, ka šīs ir divas dažādas metodes:
  1. ievietot vizuālo vizuālajā
  2. ievietot kodu kodā.

Simbola fontu, tā lielumu un krāsu HTML var iestatīt ar kodu, piemēram:
CHARACTER_CODE
kur,
Arial — fonts,
10 pikseļi — fonta lielums pikseļos,
#ff0000 — fonta krāsas kods (sarkans)

Piemēram:
☎ - rakstzīmju fonta izmērs 30 pikseļi,
☎ - simbola fonta izmērs 30px, krāsa - sarkana
☎ - rakstzīmju fonta izmērs 20 pikseļi,
☎ - simbola fonta izmērs 10px.
Piezīme Ieteicamie fonti speciālo rakstzīmju ievietošanai ir Arial, Verdana un Tahoma. Šie fonti pareizi parāda unikoda rakstzīmes, un tos pareizi atbalsta tīmekļa lietojumprogrammas.

  1. "Simbols"
    (redzams simbolu displejs)
    No šīs kolonnas varat kopēt simbola attēlu un ielīmēt to html teksta redaktora logā. Simbols tiks kopēts ar 20 pikseļu fonta lielumu. Kad kopēšana ir pabeigta, var būt nepieciešams individuāli pielāgot fonta lielumu tieši kopētajai rakstzīmei.
  2. "Vārds"
    (tikai svarīgiem vai dīvaini tēli)
    Simbola mērķa skaidrojums, tā apjoms, piemēri...
  3. "Mnemonika"
    Mnemonika ir veidlapas alfabētiska konstrukcija, kas apzīmē rakstzīmes alfabētisko kodu HTML. Tas tiek ievietots tieši html dokumenta html kodā. Mnemonika ir ļoti populāra profesionālu maketētāju vidū. To lieliski iegaumē cilvēki un tiek atbalstītas visās html lietojumprogrammās. Katra mnemonika satur tā simbola alfabētisko nosaukumu (apzīmējumu) un pakalpojuma zīmi (&), kas kalpo kā signāls pārlūkprogrammai, lai nolasītu kodu, un tas netiek parādīts monitora ekrānā Katra mnemonika ir unikāla un viegli lasāma, jo tā ir atvasināta no angļu valodas vārda, kas raksturo simbolu.

    Mnemonika (grieķu val.) - māksla kaut ko atcerēties. Mnemonika tiek izmantota, lai atvieglotu grūti iegaumējamas informācijas uztveri, kad iegaumēšanas objekts ar kaut ko tiek novests asociatīvā stāvoklī.

  4. "Kods"
    Kods — HTML rakstzīmes, piemēram, &, ciparu decimālkods. Ievietots tieši html dokumenta html kodā. Decimālais kods sastāv no skaitļa, kas norāda rakstzīmes sērijas numuru Unicode sistēmā, un vairākām pakalpojumu rakstzīmēm (& un #), kas kalpo kā signāls pārlūkprogrammai koda nolasīšanai un netiek parādītas monitora ekrānā. Ciparu decimālkods tiek plaši izmantots un tiek izmantots tā daudzpusības un uztveres viegluma dēļ.

Kontrolēt rakstzīmes HTML (XHTML)

Vadības rakstzīmes HTML (XHTML) ir HTML valodas pakalpojumu rakstzīmes, kas tiek izmantotas tīmekļa lapas HTML izkārtojumā. Jebkurai pārlūkprogrammai ir jāatbalsta šīs rakstzīmes, jo bez tām nav iespējams pareizi parādīt HTML tekstu. Vadības rakstzīmes tekstā netiek parādītas, un, ievadot tieši no tastatūras, pārlūkprogramma tās interpretē kā pieturzīmes, kas aicina veikt kādu darbību, kad lapa tiek uzzīmēta uz ekrāna.

Vadības rakstzīmes ir atļauts izmantot parastajos tekstos, kur tie simbolizē universālus jēdzienus un pārlūkprogrammā tiek interpretēti kā parastas tipogrāfiskas rakstzīmes. Šādi izmantojot pakalpojumu simbolus HTML tekstos, jāievada nevis paša simbola vērtība, bet gan tā HTML kods. Jo, es atkārtoju, pretējā gadījumā pārlūkprogramma uztvers pakalpojuma simbolu kā aicinājumu uz darbību un monitora ekrānā neparādīs pareizi HTML tekstu.

Vadības rakstzīmes un to HTML kods ir zināmas un saprotamas visām pārlūkprogrammām bez izņēmuma, ko diemžēl nevar teikt par citām rakstzīmēm, kuras var tikt parādītas nepareizi dažādas pārlūkprogrammas vai, vēl ļaunāk, netiks rādīts vispār.

Sintakse un pieturzīmes

telpa ar garumu N (parastā telpa)
telpa ar garumu M (garā atstarpe)
- mīksta defise (nedrukājama rakstzīme) - ­
defise –
- N garuma svītra (parastā svītra) -
M garuma svītra (em svītra)
. punkts .
, komats ,
elipsi …
: resnās zarnas :
; semikolu ;
! izsaukuma zīme !
ǃ
? jautājuma zīme ?
@ "suns" @
* "zvaigzne" *
# "režģis" #
viens augšējais kreisais citāts ‘
viens augšējais labais citāts ’
viens apakšējā labajā pēdiņā ‚
dubultā augšējā kreisā pēdiņa “
dubultā augšējā labajā pēdiņā ”
dubultā apakšējā labajā pēdiņā &bdquo „
« dubultā kreisā stūra pēdiņas (Rus) « «
» dubultā labā stūra pēdiņas (Rus) » »
́ akcenta zīme, piemēram: Vasja ́
" apostrofs, piemērs: Tu"I "
´ akūts, piemēram: Vasja ´ ´
rindkopa (nedrukājama rakstzīme)
§ punktu § §
ˆ akcents (apgriezts putns) ˆ ˆ
ˆ
˜ maza tilde ˜ ˜
˜
¦ vertikāla punktēta līnija ¦ ¦
( kreisā iekava (
) labās iekavas )
kreisā leņķa kronšteins
taisnā leņķa kronšteins
kreisā leņķa kronšteins, opcija
taisnleņķa kronšteins, iespēja
[ kvadrātiekava pa kreisi [
] kvadrātiekava pa labi ]
/ slīpsvītra — slīpsvītra raksturs /
\ slīpsvītra \
slīpsvītra (dalījuma zīme)
ǀ vertikāla josla ǀ
ǁ dubultā vertikālā josla ǁ
pārsegums, piemēram: Vasja‾vasja
¯ makrons, piemēram: Vasya¯vasya ¯ ¯

Preču zīmes un valūta

+ plus + +
mīnus -
= vienāds =
± pluss vai mīnuss ± ±
× reizināšanas zīme × ×
÷ sadalījuma zīme ÷ ÷
punktu operators (rindas vidū) ·
zvaigznītes operators (rindas vidū)
tildes operators
. saraksta marķieris (rindas vidū) . •
¹ augšraksts "1" ¹ ¹
² augšraksts "2" ² ²
³ augšraksts "3" ³ ³
Augšraksts un apakšraksts HTML (XHTML)
var ievietot, izmantojot tagus Un , attiecīgi:
NUMBER Virsraksts→ NUMURS Augšraksts
NUMBER Apakšraksts→ NUMURS Apakšraksts
½ daļa "viena puse" ½ ½
daļa "viena trešdaļa"
¼ daļa "viena ceturtā daļa" ¼ ¼
¾ daļa "trīs ceturtdaļas" ¾ ¾
numura zīme
% procentiem %
ppm ‰
° grādiem ° °
galvenais (minūtes, pēdas)
dubultā primārā vērtība (sekundes, collas)
1. piemērs: 30° 25′ 12 collas
2. piemērs: 25′ 12
µ mikro µ µ
π Pi π π
ƒ funkcijas zīme
(nejaukt ar "integrāli")
ƒ ƒ
ƒ
neatņemama
šķērsoja nulli, tukšs komplekts
(nejaukt ar "diametru")
diametrs (nejaukt ar izsvītroto latīņu “o”)
ø Latīņu "o" pa diagonāli izsvītrots ø ø
Ø Latīņu lielo burtu "O" pa diagonāli izsvītrots Ø Ø
darba zīme
summēšanas zīme
radikāls
(kvadrātsakne vai x sakne)
proporcionāli
bezgalība
stūrī
ortogonāls (perpendikulārs)
parakstīt "tāpēc"
aptuveni vienādi
gandrīz vienādi
nav vienāds
identiski
mazāks par vai vienāds ar
lielāks par vai vienāds ar
loģiski UN
loģisks VAI
plus zīme aplī
(tiešā summa)
reizināšanas zīme aplī
(krustprodukts, novērotāja bultiņa)
ʘ punkts aplī
(bultiņa uz novērotāju)
ʘ

✵ ✵

Publicēšanas datums: 12/12/2011

Citu dienu man vajadzēja ģenerēt rakstzīmju kodus Bitrix informācijas bloka “Mēbeļu katalogs” sadaļām un elementiem.

Kas noticis rakstzīmju kods informācijas bloka sadaļā vai elementā Bitrixā? Bitrix informācijas bloka elementa (sadaļas) simboliskais kods nozīmē mnemoniskais identifikators, kas ir rakstzīmju kopa (latīņu burti un cipari). Šo mnemonisko identifikatoru var izmantot, lai ģenerētu saišu adreses vietnes dinamiskām lapām. Piemēram, ja elementam “Sofa Cosmos” no sadaļas “Mīkstās mēbeles” ir simbolisks kods “dīvāns-kosmoss”, tad saite vietnē var izskatīties šādi - “/catalog/myagkaya-mebel/divan-cosmos”

Tas tiek darīts vienā rāvienā, galvenais jautājums bija par to, kādu metodi transliterēt. Pirmā doma ir izveidot kaut kādu savu metodi. Es nekavējoties to noslaucīju malā. Tā vienkāršā iemesla dēļ, ka - galu galā, kā šie simboliskie kodi tiek ģenerēti CMS? Kā tie tiek ģenerēti? Tātad ir metode! Jā, viņš ir.

Ir viens vienkārša funkcija, kas nez kāpēc joprojām nav aprakstīts oficiālajā Bitrix API dokumentācijā. (šī raksta tapšanas laikā (2011. gada decembrī) dokumentācijā nekas nebija minēts)

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

Funkcija transliterē virkni $str no mēles $lang ar parametriem $params.

Masīva parametri $params:

Jaunajās kodola versijās (es to redzēju 11.5.2) ir parādījies jauns parametrs "safe_chars", noklusējuma vērtība ir "", kā arī komentēja "use_google", noklusējuma vērtība ir false.

Lietošanas PIEMĒRS:

"-","aizstāt_cits"=>"-"); $trans = Cutil::translit($name,"ru",$arParams); atbalss $trans; ?>

UPD. Komentāros tika uzdots jautājums:
"Vai ir iespējams vienkārši kaut ko ierakstīt Bitrix, lai, importējot informācijas blokus, tiktu ģenerēts CNC?"
Jautājums ir nepareizs un man grūti saprotams. Bet kā īpašu gadījumu es minēšu šo piemēru -
Uzdevums ir ģenerēt simboliskus kodus produktiem, importējot tirdzniecības katalogu no CSV.

"-","aizstāt_cits"=>"-");

$trans = Cutil::translit($name,"ru",$arParams);

$arFields["KODS"] = $trans;

) ) ?>

Tādējādi, importējot no CSV faila, automātiski tiks ģenerēts simbolisks kods - transliterācija no nosaukuma.

Svarīgs UPD2.

Cilvēki sāka uzdot jautājumus par to, ka translit nedarbojas, skatiet komentārus. Es nolēmu to izdomāt, bet nevaru atkārtot problēmu nevienā no esošajiem vai vecajiem projektiem — viss ir kārtībā. Bet cilvēkiem nav?
RISINĀJUMS!

Problēma ir saistīta ar kodējumu. Pievienot .htaccess: php_value mbstring.func_overload 2 php_value mbstring.internal_encoding UTF-8 Ko darīt, ja tas nepalīdz?