CMS Dezvoltare Beatrix componente (articol într-o revistă, mai 2018) - 1C-Bitrix

Dar vreau să vorbesc despre stilul de programare la Bitrix. Oricât de ciudat ar suna, dar „programare pentru Bitrix“ - nu este doar un php-programare: aceasta include curs si php-cod, dar cea mai mare parte este încă anumite limitări și concepte mai platformă Bitrix drept cadru. Și acest concept de bază este „caramida“ platforma - componenta Bitriks.

În cele mai vechi timpuri, în urmă cu aproximativ 5 ani, numai componente simple, au fost Bitrix - așa-numitul Web 1.0 (cele mai recente versiuni ale Bitrix ei nu au văzut). Aceste componente sunt, în esență, structuri care au fost conectate în pagina de cod de ieșire ca fișiere. Suntem interesați în ele nu vor - nu vom stârni trecutul. Suntem interesati de componentele WEB 2.0 si vom incerca impreuna cu tine pentru a face o astfel de componente.

2.0 Componentele web care sunt utilizate în prezent în Bitrix, puteți împărți cu ușurință logica și de prezentare, la aceeași logică poate fi o varietate de puncte de vedere. Toate cod componentă, inclusiv template-uri, fișiere de limbă în același dosar, care, în mod natural, face viața mai ușoară atunci când transferați orice componente între proiecte.

Bitriks componente Structura

Din ceea ce este componenta Bitrix? componenta Bitrix - un dosar cu o anumită structură de fișiere și subfoldere. Iată una:

Acest dosar conține fișierele pentru a oferi componente de asistență

Pot fi stocate script-urile de instalare / componentă deistallyatsiii (install.php / uninstall.php)

Nevoia de suport multilanguage în componenta

Folder cu șabloane de ieșire componente

Acesta conține cod componentă

Acesta conține o descriere a parametrilor de intrare component

După cum probabil ați observat fișierele necesare dintr-o componentă de 2 - component.php și .description.php

Noi spunem câteva cuvinte despre care componentele sunt localizate fizic în sistem și pe un astfel de concept ca un spatiu de nume de componente. Componentele fizice trebuie să fie amplasate în dosarul / bitrix / componentelor / sau într-un subfolder al acestui dosar. Pentru componentele care vin cu CMS Bitrix a subliniat bitrix subfolder (/ bitrix / componente / bitrix /) - pentru a schimba componentele acolo sau să scrie lor acolo nu este în valoare de ea. Cel mai bine este de a crea un subfolder. Fiecare dintre aceste sub-dosare în dosarul / bitrix / componente / formează spațiul de nume sale.

componenta creație EXEMPLU

pregăti componenta php-cod

Ca un exemplu, pentru a face o componentă care afișează data și ora curentă. Și formatul de dată și oră specificată în proprietățile opțiune. Am luat acest exemplu exclusiv în scopuri didactice, în real, o astfel de componentă este probabil să fie neinteresante. Dar, în acest exemplu, vom descrie modul de a realiza dezvoltarea componentei. În cazuri mai complexe, toate puse în aplicare într-un mod similar.

Astfel, începem. Și hai să scrie php-cod care realizează ceea ce am descris.

Adevărat codul afișează pur și simplu data și nu poate alege un alt format. Mai bine plasate pe ecran data de format variabil.

Iar tușa finală - este necesar să se împartă logica și prezentarea:

Facem o structură de foldere și fișiere de componente

Php-cod, am pregătit - acum aveți nevoie pentru a crea propriul lor spațiu de nume. De exemplu, DV - nu știu de ce-mi place această combinație de caractere. Pentru a face acest lucru, creați un director / bitrix / componente / DV. Acesta face dosar componente - date.current. Și, la rândul său, a crea 2 fișiere necesare și dosar pentru a memora șabloane șabloane. În tempates.php dosar .default dosar ar trebui să fie creat și template.php.

Obținem o astfel de structură în dosarul /bitrix/components/dv/date.current:

component.php
.description.php
template-uri / .default / template.php

Ne dăm seama o componentă fără parametri de intrare

Cu toate acestea, pentru a face o componentă fără posibilitatea de a stabili parametrul de intrare - formatul datei.

template-uri / .default / template.php

Data curentă

description.php
GetMessage ( «Data curentă»)
«DESCRIERE» => getMessage ( «afișează data curentă"),
);
?>

După cum puteți vedea în fiecare dintre fișierele componente în linia scrisă în cazul în care (definită ( «B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED == true !!) Die (); este necesar să se asigure că aceste fișiere nu pot fi apelate direct din fereastra browser-ului.

În forma sa cea mai simplă, componenta gata - aceasta poate provoca pagini de cod cu structura:

IncludeComponent (
«DZR: date.current»,
«.default»,
Array (
)
fals
);?>

Ne dăm seama o componentă cu parametrii de intrare

description.php
GetMessage ( «Data curentă»)
«DESCRIERE» => getMessage ( «afișează data curentă"),
«PATH» => array (
«ID» => «dv_components»,
«COPIL» => array (
«ID» => «curdate»,
«NUME» => «data curenta»
)
)
«ICON» => «/images/icon.gif»,
);
?>

array (),
«PARAMETRI» => array (
«TEMPLATE_FOR_DATE» => array (
«PARINTE» => «BASE»,
«NUME» => «Șablonul pentru data“
«TYPE» => «STRING»,
«MULTIPLE» => «N»,
«DEFAULT» => «Y-m-d»,
«REFRESH» => «Y»,
)
)
);
?>

Și edita fișiere cu logica componente, astfel încât el ar putea folosi opțiunea, ne întrebăm:

Ce am făcut?

Am creat o componentă, în cea mai simplă formă. Noi nu iau în calcul multilingvismul, nu a luat în considerare posibilitatea de a stabili un ajutor pentru componente și farmece cache componente.
Cele mai multe dintre componentele personalizate pentru Bitrix este creată prin schimbarea componentelor de mers pe jos în aprovizionarea Bitrix. Prin urmare, este necesar să se familiarizeze cu componente standard, înainte de noul program. Cel mai probabil problema pe care doriți să rezolve - deja a decis dezvoltatorii Bitrix.

Mesaj de navigare

articole similare