alkatrészek Bitrix
Ebben a cikkben, a legegyszerűbb példa írunk le létrehozására a komponensek 1C Bitriks. Hogyan működnek, és miért kell használni őket.
Egy kis elmélet
ALKATRÉSZEK 2.0 (régebbi verziók nem veszik figyelembe) lehetővé teszi, hogy szét a logikát és a prezentáció - ez az első nagy plusz alkatrészek alkalmazásával. A második nagy plusz - azt lehet használni cache-t.
Jobb, ha azonnal elkezdi gyakorolni, és próbál tenni valamit. Engedje meg, hogy egy nagyon egyszerű feladat - hagyja, hogy a komponens lesz listájának megjelenítéséhez információs blokk szakaszok. Ez a feladat nem valószínű a gyakorlatban, ahol hasznos, de nagyon egyszerű, és segít megérteni, hogy az összes komponens elhelyezve 1C-Bitrix.
A szerkezet a komponens
A katalógusban / bitrix / components / hozzon létre egy új mappát, amelyben tárolni a komponenseket. Hívtam prmedia. Most hozzon létre egy könyvtárat a /bitrix/components/prmedia/sections.list/ komponenst. Jellemzően a mappaszerkezetet és az alkatrész fájl így néz ki:
Tekintsük ezt a sorrendben. A segítség könyvtár általában .tooltips.php fájlt, amely egy sor eszközleírásai az összetevő beállításait. Nem lakunk rajta, egy példa erre a képre megtalálható a többi komponens. A képek mappa általában komponens ikonra. A lang mappában almappákat nyelvi része paramétereket. A sablonok mappába - az összes komponens sablonokat. Akkor csak, hogy egy alapértelmezett sablont a Comp. A teljes elérési útvonalát a következőképpen nézne ki: /bitrix/components/prmedia/sections.list/templates/.default/template.php. Beírása, amíg egy sor „Ez az alapértelmezett sablon prmedia komponens: sections.list”.
Tedd .description.php fájlba az alábbi kódot:
Semmi bonyolult - csak egy tömb az alkatrész leírása.
Következő fájl - .parameters.php:
Ez a fájl egy jobban szemügyre részletesebben. Key $ arComponentParameters PARAMÉTEREK tömb egy olyan tömb, a leírás paramétereket. Legyen a mi komponens lesz csak az egyik lehetőség - IBLOCK_ID (ID információs blokkot, amiből származik szakasz). Keys NAME - a paraméter nevét, TYPE - írja több - több (ha „Y”, akkor mi az érv tudja fogadni egy sor értékek), a szülő - a szülő (k. Options oszthatók csoportokra Ez a cikk nem vesszük figyelembe). Megjegyzés: a második paraméter CACHE_TIME - ez az alapértelmezett komponensek Bitrix és beállítja a gyorsítótárat.
$ ArParams tömb jön létre a tömb $ arComponentParameters, amelyet elsősorban összetevője fájl - component.php
„ CModule :: IncludeModule (iblock '); if ($ this-> StartResultCache (3600)) <$iblock_id = $arParams['IBLOCK_ID']; $arFilter = array('IBLOCK_ID'=>$ Iblock_id); $ Db_list = CIBlockSection :: GetList (array ( 'name' => 'ASC), $ arFilter, igaz, array ( "ID", "Név", "CODE")); while ($ 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 (); >>?
a komponens kód önmagában nem bonyolult - attól függően, hogy a kapott paraméterek (ID információs blokk), teszünk egy válogatott szakaszok és tárolja azokat egy tömbben $ arResult. Figyelmet kell fordítani a módszer hívja $ this-> StartResultCache (). Ellenőrzi, hogy a eleme a jelenlegi gyorsítótárat. Ha igen, akkor megjeleníti az információt a cache. Következésképpen nincs olyan adatbázis lekérdezés, array $ arResult nem keletkezik, és a sablon nem is podlyuchaetsya (módszer $ this-> IncludeComponentTemplate ()).
alkatrész sablon
A következő lépés - a létrehozása egy sablont a komponens. A sablon vesz egy sor $ arResult, generált component.php fájlt, és megjeleníti annak tartalmát a böngészőben. /bitrix/components/prmedia/sections.list/templates/.default/template.php javított fájlt:
hívás alkatrész
Ezzel minden készen áll, már csak azt kell hívni a komponenst. Ahogy emlékszem, az összetevők okozzák a nyilvános részén. Hozzon létre egy chat az oldalon gyökér test.php file:
Tedd az azonosító kód bármely információs blokk, amely egy rész, és fut a script a böngészőben.
mi a következő lépés
A cikk nem tekinti csoportosítás komponens paraméterek létrehozását komplex összetevőket, és így tovább. Gyorsítótárral megfontolás nem bonyolult. Talán fogok írni cikkeket ezekről a témákról később. E cikket - csak azért, hogy egy általános ötlete alkatrészek 1C-Bitrix.
Bites kódot nem működik -
peredaom IBLOCK_ID
"IBLOCK_ID" => 1
és a feldolgozó ID
$ Iblock_id = $ arParams [ 'ID'];
valójában mi korrigálni component.php
$ Iblock_id = $ arParams [ 'IBLOCK_ID'];
és én arra a következtetésre jutna temleyte $ kategóriában [ „name”] nem a címben linkek töltött, és a horgony - világosabb
egészében -
Példa ofigenno.
Amire szüksége van!
Köszönöm.
Bites kódot nem működik - peredaom IBLOCK_ID "IBLOCK_ID" => 1, és a feldolgozás ID $ iblock_id = $ arParams [ 'ID']; valójában mi korrigálni component.php $ iblock_id = $ arParams [ 'IBLOCK_ID']; és én arra a következtetésre jutna temleyte $ kategóriában [ „name”] nem a címben linkek töltött, és a horgony - grafikusan és összességében - kibaszott példa. Amire szüksége van. KÖSZÖNJÜK!