Componente Bitrix

În acest articol, cel mai simplu exemplu va descrie cum se creează componente pentru 1C-Bitrix. Cum sunt aranjate și de ce ar trebui folosite.

Un pic de teorie

Componenta 2.0 (nu vom lua în considerare versiunile vechi) ne permite să separăm logica și prezentarea - acesta este primul mare plus al utilizării componentelor. Cel de-al doilea mare plus este capacitatea de a utiliza cache-ul.







Este mai bine să începeți imediat să practici și să încercați să faceți ceva. Să ne punem sarcina cea mai simplă - permiteți componentei noastre să precizeze secțiunile blocului de informații. Această sarcină este puțin probabil să fie utilă în practică, dar este foarte simplă și vă va ajuta să înțelegeți cum sunt construite componentele 1C-Bitrix.

Structura componentei

În directorul / bitrix / components / / create, un director nou unde vor fi stocate componentele noastre. L-am numit prmedia. Acum creați directorul pentru componenta /bitrix/components/prmedia/sections.list/. De obicei, structura dosarelor și fișierelor componentei arată astfel:

Luați în considerare toate acestea în ordine. În dosarul de ajutor, fișierul .tooltips.php conține, de obicei, un set de sfaturi pentru setările componentelor. Nu vom mai rezista, puteți vedea un exemplu al acestui fișier în alte componente. Dosarul de imagini conține de obicei pictograma pentru componente. Langul dosarului conține subdosare pentru setările de limbă ale componentei. În dosarul Șabloane - toate șabloanele componentei. Puteți crea imediat un șablon implicit pentru componenta noastră. Calea integral la aceasta ar arata astfel: /bitrix/components/prmedia/sections.list/templates/.default/template.php. Vom introduce o singură linie "Aceasta este șablonul implicit pentru componenta prmedia: sections.list".

Puneți următorul cod în fișierul .description.php:

Nimic complicat - doar o matrice cu o descriere a componentei.

Următorul fișier este .parameters.php:

Acest fișier este mai bine să fie luat în considerare în detaliu. Tasta PARAMETRI a matricei $ arComponentParameters este o matrice cu o descriere a parametrilor. Fie componenta noastră un singur parametru - IBLOCK_ID (ID al blocului de informații din care vom afișa secțiuni). Taste NAME este numele parametrului, TYPE este tipul, MULTIPLE este multiplicitatea (dacă 'Y', parametrul nostru va putea să ia o serie de valori), PARENT este părinte (parametrii pot fi împărțiți în grupuri. Acordați atenție celui de-al doilea parametru CACHE_TIME - este implicit pentru componente Bitrix și setați timpul de cache.







Din array $ arComponentParameters array $ arParams va fi generat, care va fi folosit în fișierul principal al componentei noastre - component.php

„; CModule :: IncludeModule ("iblock"); dacă ($ this-> StartResultCache (3600)) <$iblock_id = $arParams['IBLOCK_ID']; $arFilter = array('IBLOCK_ID'=>$ iblock_id); $ Db_list = CIBlockSection :: GetList (array ( 'NAME' => 'ASC'), $ arFilter, true, array ( "ID-ul", "NAME", "CODE")); în timp ce ($ ar_result = $ db_list-> GetNext ()) <$arResult[] = array( "ID" => $ Ar_result [ 'ID'] "CODE" => $ ar_result [ 'CODE'] "NAME" => $ ar_result [ 'NAME'], "ELEMENT_CNT" => $ ar_result [ 'ELEMENT_CNT']);> / / echo "; $ this-> IncludeComponentTemplate ();>?>

Codul componentei noastre nu este complicat - în funcție de parametrul primit (ID al blocului de informații), facem o selecție de partiții și le salvăm în arrayul $ arResult. Ar trebui să fiți atenți la a apela metoda $ this-> StartResultCache (). El verifică dacă componenta noastră are o memorie cache actualizată. Dacă este, informațiile din cache sunt afișate. Prin urmare, nu există nicio interogare pentru baza de date, arrayul $ arResult nu este generat și nici șablonul nu este inclus (metoda $ this-> IncludeComponentTemplate ()).

Șablon de componente

Următorul pas este să creați un șablon pentru componentă. Șablonul acceptă array-ul $ arResult generat în fișierul component.php și scoate conținutul acestuia în browser. /bitrix/components/prmedia/sections.list/templates/.default/template.php fișier corectat:

Apelarea unei componente

Acum totul este gata, rămâne doar să ne numim componenta. După cum ne amintim, componentele sunt chemați în secțiunea publică a site-ului. Creați fișierul test.php direct în rădăcina site-ului:

Înlocuiți în acest cod ID-ul unui anumit bloc de informații în care există partiții și executați scriptul în browser.

Ce urmează

Articolul nu ia în considerare gruparea parametrilor componentei, crearea de componente complexe și multe altele. Caching-ul nu este luat în considerare în detaliu. Poate voi scrie articole despre aceste subiecte mai târziu. Scopul acestui articol este pur și simplu de a obține o idee generală despre crearea componentelor pentru 1C-Bitrix.

Codul nu funcționează -
transferăm IBLOCK_ID
"IBLOCK_ID" => 1

dar ne procesăm ID-ul
$ iblock_id = $ arParams ['ID'];

de fapt în regula component.php
$ iblock_id = $ arParams ['IBLOCK_ID'];

și în temelete l-aș scoate categoria $ ['NAME'] nu în titlul legăturilor înghesuiți, iar în ancora - mai clară

dar în general -
EXEMPLUL EXEMPLULUI.
Ce ai nevoie!
Mulțumesc.

Codul de biți nu funcționează - peredaom IBLOCK_ID "IBLOCK_ID" => 1 și ID-ul de procesare $ iblock_id = $ arParams [ 'ID']; De fapt, am corecta component.php $ iblock_id = $ arParams [ 'IBLOCK_ID']; și aș încheia categoria temleyte $ [ „NAME“] nu este în link-urile de titlu umplute, și ancora - grafic și ca un întreg - EXEMPLUL dracului. Ce ai nevoie. Multumesc!







Articole similare

Trimiteți-le prietenilor: