LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam

Pour un grand projet moderne, il est généralement obligatoire d'utiliser le CNC pour les pages. Cela a un effet positif sur l'indexation du site et l'enjeu dans les résultats.

CNC - URL compréhensible par une personne. En d'autres termes, il s'agit de la partie translittérée latine de l'url. Nous avons déjà analysé la translittération de l'alphabet russe sur pkhp. Bitrix a une telle fonction, elle est utilisée, par exemple, lorsqu'un nouvel élément ou une nouvelle section d'un infobloc est créé, le code symbolique de cet élément ou de cette section est généré à partir de son nom. Mais que faire si les éléments ont déjà été créés et que les codes de symboles ne sont pas écrits. Voyons une solution pour ce cas:

"inc",); $ arFilter \u003d array ("IBLOCK_ID" \u003d\u003e $ arParams ["IBLOCK_ID"], "IBLOCK_LID" \u003d\u003e "s1" // nom du site // "CODE" \u003d\u003e "", // "CODE" \u003d\u003e false); $ arTransParams \u003d array (// (longueur maximale du code, casse (minuscule, majuscule, ne pas changer), // remplacer l'espace par ..., remplacer les autres caractères par ..., supprimer les caractères de remplacement inutiles) "max_len" \u003d\u003e 100 , "change_case" \u003d\u003e "L", // "L" - toLower, "U" - toUpper, false - ne pas changer "replace_space" \u003d\u003e "-", "replace_other" \u003d\u003e "-", "delete_repeat_replace" \u003d\u003e vrai); if ($ arParams ["TYPE_WORK"] \u003d\u003d "section") (// pour les sections $ db_elemens \u003d CIBlockSection :: GetList ($ arOrder, $ arFilter, false); $ db_elemens-\u003e NavStart ($ arParams ["LIST_CNT"] ); écho "
"; while ($ ar_res \u003d $ db_elemens-\u003e GetNext ()) ($ transName \u003d CUtil :: translit ($ ar_res [" NOM "]," ru ", $ arTransParams); $ arPropArray \u003d Array (" CODE "\u003d\u003e $ transName); $ el \u003d new CIBlockSection; $ res \u003d $ el-\u003e Update ($ ar_res ["ID"], $ arPropArray); echo "result for ". $ ar_res [" NOM "]." est ". $ transName."". ($ res?" et OK ":" et a échoué ")." \\ r \\ n ";) echo"
";) elseif ($ arParams [" TYPE_WORK "] \u003d\u003d" element ") (// pour les éléments $ db_elemens \u003d CIBlockElement :: GetList ($ arOrder, $ arFilter, false, array (" nTopCount "\u003d\u003e $ arParams [" LIST_CNT "])); echo"
"; // pour la sortie formatée du résultat de la génération while ($ obElement \u003d $ db_elemens-\u003e GetNextElement ()) ($ ar_res \u003d $ obElement-\u003e GetFields (); $ transName \u003d CUtil :: translit (trim ($ ar_res [" NAME " ]), "ru", $ arTransParams); // fonction de génération de code sim. à partir du nom $ arPropArray \u003d Array ("CODE" \u003d\u003e $ transName. "-". $ ar_res ["ID"],); // к ajouter un "prefix" - "-id" au code fini $ el \u003d new CIBlockElement; $ res \u003d $ el-\u003e Update ($ ar_res ["ID"], $ arPropArray); // écrire le résultat, réécrire le code pour cet élément echo $ transName. "-". $ ar_res ["ID"]. " 
"; // affiche le résultat) echo"
"; } ?>

Exécutez le script php plusieurs fois dans un fichier séparé ou dans la console php dans le panneau d'administration Bitrix jusqu'à ce que les messages concernant la génération réussie du code symbolique ne soient plus affichés. En conséquence, une chaîne latine apparaîtra dans le champ "Code de symbole" sous la forme de la commande numérique correspondante.

Skis enfants: lyzhi-detskie
Jouet LEGO: igrushka-lego

Si le formatage du code n'est pas spécifié dans cette section - le code doit être formaté conformément au PSR-2

  • Les tabulations sont utilisées comme retraits dans le code.
  • L'accolade ouvrante est sur la même ligne.
  • L'accolade de fermeture est sur une nouvelle ligne.

Commentaires sur le code

Les commentaires de code PHP en font partie intégrante!

Lorsque vous commentez du code, utilisez les commentaires PHPDoc.

Pour les commentaires explicatifs d'une ligne dans votre code, vous pouvez utiliser des commentaires normaux commençant par //.

Variables

La règle générale de dénomination des variables est que le nom doit être tel qu'un commentaire n'est pas nécessaire pour expliquer le but de la variable.

Préfixes

Les noms de variables utilisent les préfixes suivants:

  • ar - pour les tableaux
  • db - pour CDBResult
  • b - pour les variables booléennes, si le nom n'est pas évident. Perfix est requis si une valeur booléenne est utilisée là où la chaîne est généralement stockée O / N.

$ arUserList \u003d tableau (); $ dbRes \u003d CIBlockElement :: GetByID ($ id); $ bActive \u003d faux;

Les noms de variable ne doivent pas commencer par un trait de soulignement.

Variables globales

Les variables globales sont écrites en lettres MAJUSCULES séparées par des traits de soulignement.

Global $ USER, $ APPLICATION, $ AR_MESSAGES.

L'utilisation de variables globales n'est autorisée qu'en cas de nécessité absolue. Utilisez ce que D7 fait là où il le fait!

Variables locales

Les variables locales au script (fonction, méthode, classe) commencent toujours par une lettre minuscule, les mots sont séparés par la majuscule du premier caractère (camelCase).

Cette règle s'applique aux abréviations.
Ceux. La station de la BBC a écrit $ bbcStation; $ arBbcStations; ...

Il n'y a qu'une seule exception: l'ID est écrit en majuscules.
Ceux. $ sectionID, $ arElementIDs.

$ compteur \u003d 0; $ bElementActive \u003d faux; $ lastErrorMsg \u003d ""; $ ID \u003d $ _GET ["ID"];

Variables auxiliaires (temporaires)

Les variables utilisées dans les constructions FOR ... FOREACH peuvent être nommées en raccourci si le code du bloc dans lequel elles sont utilisées est visualisé sans faire défiler la page.

Pour ($ i \u003d 0; $ i< count($arRows); $i++) { // ... } foreach ($arElement as $k => $ v) (// ...) while ($ arr \u003d $ dbRes-\u003e Fetch ()) (// ...)

Constantes

Les noms constants sont écrits en lettres MAJUSCULES, les mots sont séparés par un trait de soulignement. En raison de la portée globale, les constantes doivent être précédées d'un court préfixe (par le nom du module, du composant, du modèle).

Codes de caractères Bitrix

Les codes personnalisés dans Bitrix sont nécessaires pour de nombreuses choses et il faut donc respecter leur dénomination uniforme. Le code symbolique doit être écrit en lettres latines, sans chiffres ni caractères spéciaux, et doit refléter l'essence de l'infobloc, de la section ou de l'élément.

Nommage des classes, méthodes, fonctions

  • Les noms de classe commencent toujours par une majuscule. Les mots sont séparés par la majuscule de la première lettre. (Affaire de chameau)
  • Les noms des méthodes et des fonctions commencent toujours par une lettre minuscule. Les mots sont séparés par la majuscule de la première lettre. (affaire de chameau)

En raison de la portée globale des fonctions, leurs noms doivent commencer par un préfixe court (par le nom du module, du composant, du modèle).

Enregistrement des structures de gouvernance

Une règle courante pour les structures de contrôle est qu'un bloc logique de code est indenté.

Si le bloc ne rentre pas dans un écran, au moins deux taquets de tabulation sont indentés. Un gros bloc de code lié à un élément logique doit être séparé par au moins deux lignes vides et être accompagné de commentaires d'ouverture et de fermeture expliquant la logique de l'élément.

Outils de formatage automatique du code, réglage des paramètres

[Plugins pour SublimeText]

  • PhpDoc - En fait, un plugin pour supporter le format PHPDoc.
  • phpfmt - plugin pour le formatage automatique du code php (nécessite l'installation de php).

Configuration du plugin phpfmt.

Date de publication: 12.12.2011

Il a fallu quelques jours pour générer des codes de symboles pour les sections et les éléments du bloc d'informations «Catalogue de meubles» dans Bitrix.

Quoi code de caractère dans la section ou l'élément de l'infoblock dans Bitrix?Le code symbolique d'un élément (section) d'un infobloc dans Bitrix signifie identifiant mnémonique, qui est un ensemble de caractères (lettres latines et chiffres). Cet identifiant mnémonique peut être utilisé pour former les URL de liens de pages dynamiques sur le site. Par exemple, si l'élément "Sofa Space" de la section "Meubles rembourrés" a le code symbolique "divan-cosmos", alors le lien sur le site peut ressembler à - "/ catalogue / myagkaya-mebel / divan-cosmos"

Fait d'un seul coup, la question principale était de savoir quelle méthode translittérer. La première pensée est vraiment de composer une sorte de votre propre méthode. Elle s'écarta immédiatement. Pour la simple raison que - après tout, comment ces codes symboliques sont-ils générés dans le CMS? Comment sont-ils générés? Il y a donc une méthode! Oui il l'est.

Il existe une fonction si simple qui, pour une raison quelconque, n'est toujours pas décrite dans la documentation officielle sur l'API Bitrix. (au moment de la rédaction de cet article (décembre 2011), il n'y avait aucune mention dans la documentation)

CUtil :: translit ($ str, $ lang, $ params \u003d tableau ())

La fonction translittère la chaîne $ str de la langue $ lang avec paramètres $ params.

Paramètres du tableau $ params:

Dans les nouvelles versions du noyau (j'ai vu en 11.5.2) un nouveau paramètre est apparu "safe_chars", par défaut "", également commenté "use_google", par défaut false.

EXEMPLE D'UTILISATION:

"-", "replace_other" \u003d\u003e "-"); $ trans \u003d Cutil :: translit ($ nom, "ru", $ arParams); echo $ trans; ?\u003e

UPD.Une question a été posée dans les commentaires:
"Et vous pouvez simplement où écrire quelque chose dans Bitrix pour que la CNC générée lors de l'importation des infoblocs fonctionne?"
La question est incorrecte et il m’est difficile de la comprendre. Mais comme cas particulier, je vais donner un exemple -
la tâche consiste à générer des codes symboliques pour les produits lors de l'importation d'un catalogue commercial à partir de CSV.

"-", "replace_other" \u003d\u003e "-"); $ trans \u003d Cutil :: translit ($ nom, "ru", $ arParams); $ arFields ["CODE"] \u003d $ trans; ))?\u003e

Ainsi, lors de l'importation à partir d'un fichier CSV, un code symbolique sera automatiquement généré - une translittération du nom.

Important UPD2.

A commencé à poser des questions que la translittération ne fonctionne pas, voir les commentaires. J'ai décidé de le comprendre, mais je ne peux reproduire le problème sur aucun de mes projets actuels et anciens - tout est OK. Mais les gens ne le font pas?

DÉCISION!

Problème dû à l'encodage. Ajouter à .htaccess:

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

Et si cela n'aide pas? Nous allons dans le panneau d'administration sur la page "vérification du site", commençons la vérification. Si un message concernant un encodage incorrect reste dans le chèque, ne vous découragez pas. Soit vous devez contacter l'hébergeur pour corriger ces paramètres, soit oublier la fonction de translittération standard et écrire la vôtre. (Et arrêtez d'être surpris de tous les autres problèmes dus à l'encodage).

Le texte dactylographié se compose de caractères imprimés - symboles graphiques.
Les symboles graphiques sont des symboles qui ont un affichage visible dans le texte.
Tous les symboles graphiques sont rassemblés dans un ensemble d'un seul système Unicode universel.
Insérer un caractère graphique Unicode dans un document html
est le principal et unique objectif de ce tableau.

Vous pouvez insérer un symbole dans un document html de l'une des manières suivantes:

  1. copiez l'image du symbole de la fenêtre du navigateur dans la fenêtre de votre éditeur visuel html
  2. copiez le code html du caractère directement dans le code du document html
Supposons que ce sont deux manières différentes:
  1. intégrer le visuel dans le visuel
  2. incorporer le code dans le code.

La police du symbole, sa taille et sa couleur en HTML peuvent être définies avec un code, comme:
SYMBOL_CODE
Où,
Arial - police,
10px - taille de la police en pixels,
# ff0000 - code de couleur de police (rouge)

Par exemple:
☎ - la taille de la police du symbole est 30px,
☎ - taille de la police des symboles 30px, couleur - rouge
☎ - la taille de la police du symbole est 20px,
☎ - la taille de la police du symbole est de 10 pixels.
Environ. Les polices recommandées pour l'insertion de caractères spéciaux sont Arial, Verdana et Tahoma. Ces polices affichent correctement les caractères Unicode et sont elles-mêmes correctement prises en charge par les applications Web.

  1. "Symbole"
    (affichage des symboles visibles)
    À partir de cette colonne, vous pouvez copier l'image du symbole et la coller dans la fenêtre de l'éditeur de texte html. Le caractère sera copié avec une taille de police de 20 px. Une fois la copie terminée, vous devrez peut-être personnaliser la taille de la police directement pour le caractère copié.
  2. "Nom"
    (uniquement pour les personnages importants ou incompréhensibles)
    Explication de la fonction du symbole, de sa portée, exemples ...
  3. "Mnémotechnique"
    Un mnémonique est une construction littérale du formulaire ", désignant une lettre code d'un caractère en HTML. Il est inséré directement dans le code html d'un document html. Les mnémoniques sont très populaires parmi les concepteurs de mise en page professionnels. Ils sont parfaitement mémorisés par les humains et sont pris en charge par toutes les applications html. Chaque mnémonique contient un nom alphabétique (désignation ) son symbole et un signe de service (&), qui sert de signal pour lire le code pour le navigateur et n'est pas affiché sur l'écran du moniteur.Le nom de chaque mnémonique est unique et facile à lire, car il est dérivé du mot anglais qui caractérise le symbole.

    Mnémonique (grec) - l'art de se souvenir de quelque chose. Les mnémoniques sont utilisées pour faciliter la perception d'informations difficiles à retenir lorsque l'objet de stockage est amené dans un état associatif avec quelque chose.

  4. "Code"
    Le code est le code décimal numérique du caractère en HTML, comme &. Inséré directement dans le code html du document html. Le code décimal numérique se compose d'un nombre indiquant le nombre ordinal d'un caractère dans le système Unicode et de plusieurs caractères de service (& et #), qui servent de signal pour lire le code pour le navigateur et ne sont pas affichés sur l'écran du moniteur. Le code décimal numérique est répandu et largement utilisé en raison de sa polyvalence et de sa facilité de perception.

Caractères de contrôle en HTML (XHTML)

Les caractères de contrôle en HTML (XHTML) sont des caractères de service en langage HTML qui sont utilisés dans la mise en page HTML d'une page Web. Ces caractères doivent être pris en charge par n'importe quel navigateur, car sans eux, l'affichage correct du texte HTML est impossible. Les caractères de contrôle ne sont pas affichés dans le texte et, lorsqu'ils sont saisis directement à partir du clavier, sont interprétés par le navigateur comme des signes de ponctuation qui appellent à effectuer une action lorsque la page est dessinée à l'écran.

Il est permis d'utiliser des caractères de contrôle dans les textes ordinaires, où ils symbolisent des concepts humains généraux et sont interprétés par le navigateur comme des caractères typographiques ordinaires. Avec cette utilisation des symboles de service dans les textes HTML, il est nécessaire de saisir non pas la valeur du symbole lui-même, mais son code HTML. Car, je le répète, sinon le navigateur percevra le symbole de service comme un appel à l'action et n'affichera pas correctement le texte HTML sur l'écran du moniteur.

Les symboles de contrôle et leur code HTML sont connus et compris par tous les navigateurs sans exception, ce qui ne peut hélas pas être dit sur le reste des signes qui peuvent être affichés de manière incorrecte dans différents navigateurs ou, pire encore, ne pas s'afficher du tout.

Syntaxe et ponctuation

espace de longueur N (espace normal)
espace de longueur M (espace long)
- soft carry (caractère non imprimable) - ­
trait d'union –
- longueur de tiret N (tiret régulier) -
longueur du tiret M (tiret em)
. point .
, virgule ,
ellipse …
: côlon :
; point virgule ;
! point d'exclamation !
ǃ
? point d'interrogation ?
@ "chien" @
* "étoile" *
# "treillis" #
guillemet simple en haut à gauche ‘
guillemet simple en haut à droite ’
guillemet simple en bas à droite ‚
guillemet double en haut à gauche “
guillemet double en haut à droite ”
citation double en bas à droite & bdquo „
« guillemet double à angle gauche (rus) « «
» guillemet double à angle droit (rus) » »
́ marque d'accent, exemple: Vasya ́
" apostrophe, exemple: vous "je "
´ aigu, exemple: Vas'ya ´ ´
paragraphe (marque non imprimable)
§ paragraphe § §
ˆ accent (oiseau inversé) ˆ ˆ
ˆ
˜ petit tilde ˜ ˜
˜
¦ ligne pointillée verticale ¦ ¦
( parenthèse gauche (
) parenthèse droite )
équerre gauche
support à angle droit
équerre gauche, option
équerre droite, option
[ crochet carré gauche [
] crochet carré à droite ]
/ slash - caractère slash /
\ barre oblique inverse \
barre oblique (signe de division)
ǀ barre verticale ǀ
ǁ double barre verticale ǁ
overline, exemple: Vasya‾vasya
¯ macron, exemple: Vasya¯vasya ¯ ¯

Marques et devises

+ un plus + +
moins -
= également =
± plus ou moins ± ±
× signe de multiplication × ×
÷ signe de division ÷ ÷
opérateur point (ligne médiane) ·
opérateur astérisque (milieu de ligne)
opérateur tilde
. marqueur de liste (milieu de ligne) . •
¹ exposant "1" ¹ ¹
² exposant "2" ² ²
³ exposant "3" ³ ³
Exposant et indice en HTML (XHTML)
peut être inséré à l'aide de balises et , respectivement:
NOMBRE Exposant → NUMBER Exposant
NOMBRE Indice → NUMBER Indice
½ fraction "une seconde" ½ ½
fraction "un tiers"
¼ fraction "un quart" ¼ ¼
¾ fraction "trois quarts" ¾ ¾
signe numérique
% pour cent %
ppm ‰
° degrés ° °
aVC (minutes, pieds)
double prime (secondes, pouces)
Exemple 1: 30 ° 25 ′ 12 ″
Exemple 2:25 ′ 12
µ micro µ µ
π Pi π π
ƒ signe de fonction
(à ne pas confondre avec "intégrale")
ƒ ƒ
ƒ
intégral
barré zéro, ensemble vide
(à ne pas confondre avec "diamètre")
diamètre (à ne pas confondre avec le latin "o" barré)
ø latin "o" barré en diagonale ø ø
Ø majuscule latine "O" barrée en diagonale Ø Ø
marque de travail
signe de sommation
radical
(racine carrée ou racine de puissance x)
proportionnellement
infini
angle
orthogonal (perpendiculaire)
signez par conséquent
approximativement égal
presque égal
inégal
à l'identique
inférieur ou égal
plus ou égal
eT logique
oU logique
signe plus dans un cercle
(montant direct)
multiplication dans un cercle
(produit croisé, flèche de l'observateur)
ʘ point dans un cercle
(flèche sur l'observateur)
ʘ

✵ ✵

Un code de caractère international standard dans lequel chaque caractère est codé sur sept bits. Thèmes des télécommunications, concepts de base EN ISO 7 ...

code ISO-7 - Le code de caractère international standard (ISO 646 1973), dans lequel chaque caractère est codé sur sept bits. La version américaine de ce code s'appelle ASCII. [E.S. Alekseev, A.A. Myachev. Le dictionnaire explicatif anglais russe de l'ingénierie des systèmes informatiques. Moscou 1993] ... ... Guide du traducteur technique

Code (dans un ordinateur numérique) - Code dans un ordinateur numérique, un système conventionnel de caractères pour représenter des informations dans un ordinateur numérique. Chaque K. utilise les signes de son alphabet. Pour la majorité des K., les alphabets sont à deux caractères ou se composent de lettres d'un alphabet à deux caractères. La forme physique de K. dépend du personnage ... ...

Code de compagnie aérienne IATA - Code de compagnie aérienne IATA identifiant individuel à 2 ou 3 caractères attribué à la compagnie aérienne par l'Association du transport aérien international (IATA). Ce code est attribué conformément à la résolution IATA n ° 762 par le siège de l'association à ... ... Wikipedia

Code - I (code français, du latin codex un ensemble de lois) est un système de signes conventionnels (symboles) pour la transmission, le traitement et le stockage (mémorisation) de diverses informations. La séquence finale de points de code est appelée un mot. Le nombre de caractères différents, ... ... Grande encyclopédie soviétique

RADIX-50 - un code de caractère qui vous permet d'écrire trois caractères dans un mot de 16 bits. Il était principalement utilisé sur les mini-ordinateurs, tout d'abord, de la famille PDP 11 (ordinateur SM), pour stocker les noms de fichiers dans les systèmes de fichiers OS RT 11 et RSX 11, les noms de modules ... ... Wikipedia

ESCON - Interface Fibre Channel (Enterprise Systems Connection) qui permet l'échange d'informations entre le serveur IBM zSeries et les périphériques (ou un autre serveur). Première utilisation dans les serveurs Archite ... Wikipedia

adresse - nom, m., uptr. souvent Morphologie: (non) quoi? adresses, pourquoi? adresse, (voir) quoi? adresse quoi? adresse, de quoi? à propos de l'adresse; PL. quoi? adresses, (non) quoi? adresses, quoi? adresses, (voir) quoi? adresse quoi? adresses, de quoi? à propos des adresses 1. L'adresse de n'importe qui ... ... Dictionnaire explicatif de Dmitriev

identifiant de tâche - Un code symbolique attribué à une tâche en cours ou prête à être exécutée. [Domarev V.V. Sécurité des technologies de l'information. Approche systématique.] Sujets sécurité de l'information ID de tâche EN ... Guide du traducteur technique

Pascal (langage de programmation) - Cet article ou cette section doit être révisé. Dans Pascal, il n'y a pas de modules, POO et autres tendances newfangled. Les descriptions des extensions ne doivent être présentes que dans les articles sur les ... Wikipedia correspondants

Pascal (langue) - Pascal Semantics: procédural Type d'exécution: compilateur Introduit en: 1970 Auteur (s): Niklaus Wirth Pascal est un langage de programmation généraliste de haut niveau. L'un des langages de programmation les plus connus, largement ... ... Wikipedia

Livres

  • Méthode linguoculturelle en phraséologie. Codes de culture, M. L. Kovshova. La monographie est consacrée à l'étude linguoculturologique des unités phraséologiques - les signes linguistiques, qui sous une forme figurative stockent et transmettent de génération en génération les attitudes de valeur du ... Acheter pour 1053 UAH (Ukraine uniquement)
  • La méthode linguoculturologique en phraséologie Codes de culture, M. Kovshova. La monographie est consacrée à l'étude linguoculturologique des unités phraséologiques - signes linguistiques, qui sous une forme figurative stockent et transmettent de génération en génération les valeurs du national ...

LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam