Crearea componentei Bitrix

În această notă, vom discuta despre dezvoltarea componentelor pentru Bitrix de la zero. Voi vorbi despre cum să scrie o componentă pentru a face o descriere a acestuia, precum și să configurați componenta pentru a putea folosi componentele ca componentele standard ale Bitrix. Am scris deja despre componente Bitrix. Vom presupune că ați citit deja acel articol. Deci, să începem.







Structura folderului component arată astfel:

Vom analiza fiecare fișier separat.

Fișierul .description.php

Din fișier perspectiva de programare .description.php este necesară pentru a determina matrice $ arComponentDescription, care definește parametrii de bază ai descrierii.

Structura tipică a acestei matrice este după cum urmează:

Tastele componente înseamnă următoarele:

Fișierul .parameters.php

Acest fișier conține descrieri ale parametrilor de intrare ai componentei. Descrierea se face prin setarea array $ arComponentParameters, care arată astfel:

Matricea are următoarele chei:

  • GRUP - toți parametrii sunt împărțiți în grupuri. Grupurile sunt specificate printr-o matrice de tipul următor:

Lista grupurilor standard:
ADDITIONAL_SETTINGS (sortare - 700)
Acest grup apare, de exemplu, prin specificarea parametrului SET_TITLE.
CACHE_SETTINGS (sortare 600)
Apare când este specificat parametrul CACHE_TIME.
SEF_MODE (sortează 500)
Grup pentru toți parametrii asociați cu utilizarea CNC.
URL_TEMPLATES (sortare 400)
Link template-uri
VISUAL (sortare 300)
Grupuri rare utilizate. Aceasta ar trebui să conducă parametrii responsabili de aspect.
DATA_SOURCE (sortare 200)
Tipul și ID-ul blocului de informații și altele asemenea.
Baza (sortare 100)
Parametrii de bază.
AJAX_SETTINGS (sortare 550)
Tot ce-i privește pe ajax.

  • PARAMETRII este o serie de descrieri de parametri. Descrierea are următoarea structură:

    Valorile posibile pentru TIP:

    • LIST - listă de elemente
    • CHECKBOX - caseta de validare da / nu
    • STRING - șir de caractere
    • FILE - dosar
    • COLORPICKER - culoare
    • CUSTOM - Un exemplu al unui parametru de utilizator (CUSTOM) tip este un parametru în bitrix componenta MAP_DATA: map.google.view






    Pentru tipul LIST, tasta VALUES conține o serie de valori de tipul următor:

    Fișierul Component.php

    Așadar, aruncați o privire asupra fișierului component principal. Structura de bază este după cum urmează:

    Prima linie este necesară pentru a restricționa accesul direct la fișierul component. Următoarea este definiția matricei $ arResult, pe care trebuie să trecem la șablon.

    Metoda StartResultCache returnează true dacă cache-ul nu este valid și datele sale sunt depășite. Datele sunt stocate în memoria cache când se solicită șablonul. Pentru mai multe informații despre această funcție, consultați documentația.

    Funcția IncludeComponentTemplate afișează șablonul pentru componente. De asemenea, când această funcție este apelată, memoria cache este actualizată.

    Crearea unei componente Bitrix

    Acum, să creăm o componentă simplă care să scoată înregistrările din blocul de informații. Componenta va fi localizată într-un spațiu de nume separat mir. Parametrii de intrare sunt ID-ul infoblocului din care se vor lua elementele și mărimea selecției elementelor.

    Creați un folder nou în directorul / bitrix / components mir. Acesta va fi noul nostru spațiu de nume.

    Definiți fișierele principale ale componentei.

    Probabil ați observat funcția GetMessage? Acum trebuie să creați fișiere lingvistice. Ei trebuie să se afle în lang / ru /, iar dosarul trebuie să fie numit ca fișiere, variabile pentru care va trebui să fie determinată.

    Excelent! Acum, în folderul component, creați dosarul șabloane. Acesta va stoca șabloanele. Fiecare folder este un șablon separat. Șablonul implicit se numește .default, se creează un astfel de dosar și se adaugă fișierul template.php. Lasati-l sa fie gol pentru moment.

    Acum glisați componenta în pagină. Ar trebui să apară în zona de editare.

    Faceți dublu clic pe el, apare fereastra cu parametri.

    După cum puteți vedea, totul sa dovedit. Dar componenta noastră nu face nimic. Să corectăm asta.

    logica componentă este că el trebuie să producă mai întâi o mostră a blocului informații de contact desemnate și apoi transferă aceste date într-un șablon, care este de afișează. Iată doar separarea logicii și a reprezentării. Fișierul component.php component trebuie să fie setat la logică. Ieșirea ar trebui plasată în matricea $ arResults. Un șablon trebuie să funcționeze cu acest matrice. În mod ideal, șablonul nu ar trebui să facă orice manipulare a acestei matrice, doar pentru a cere drumul său spre ieșire pe ecran.

    Parametrii sunt transmiși atât la componenta însăși, cât și la șablon folosind matricea $ arParams. Puteți adăuga următoarea linie în fișierul component:

    Veți vedea următoarele pe pagina componentei:

    Structura matricei este foarte simplă. Acum vom crea logica de bază a componentei.

    Fișierul component ar trebui să aibă forma:

    Am făcut prima selecție din blocul de informații utilizând metodele standard Bitrix API. Apoi am adăugat informații despre fiecare element în array $ arResult și am sunat șablonul de componente.

    Editați fișierul template.php după cum urmează:

    După cum putem vedea, avem doar un șablon pentru a afișa informații, pe care le substituie valoarea blocului de informații. Rezultatul este următorul:

    Dacă doriți stiluri separate pentru componenta dvs., adăugați fișierul style.css în folderul component. Bitrix o va conecta automat.

    În mod similar, Bitrix va conecta automat fișierul script.js.







    Articole similare

    Trimiteți-le prietenilor: