Grupează elementele blocului de informații și le afișează pe pagina site-ului

Notele mele sunt concepute în primul rând pentru webmasterii începători. În ciuda acestui fapt, dezvoltatorii experimentați vor găsi aici și ceva interesant pentru ei înșiși.







În blogul meu, voi publica articole despre tehnologiile web moderne (HTML5, CSS3 și altele). Dacă în procesul de lucru pe proiecte descopăr o soluție "proaspătă" pentru o sarcină, scriu aici aici informații despre acest lucru, care îmi permit să aplice cunoștințele în viitor, dacă este necesar.

Sper că informațiile vor fi utile vizitatorilor.

Poate că problema descrisă în acest articol va părea foarte specifică, dar uneori apar astfel de probleme și nu pot fi rezolvate utilizând componente standard ale sistemului. Trebuie să căutăm o soluție non-standard. Sarcina este legată de ieșirea elementelor blocului de informații pe pagina site-ului, dar nu totul este atât de simplu: există o listă de companii, unele dintre ele având companii afiliate. Fiecare companie din listă are o descriere. Trebuie să listați numele companiilor pe pagina site-ului sub forma unui tabel format din 2 celule în fiecare rând. În prima celulă vor fi companiile-mamă, precum și companiile care nu au filiale, în a doua celulă vor fi grupate filiale. Dacă nu există filiale, celula va fi goală.

Grupează elementele blocului de informații și le afișează pe pagina site-ului

Ca de obicei, toate acțiunile sunt efectuate de mine pe versiunea demo a site-ului. Când instalați sistemul pe un server web local, selectați o versiune de site numită "Soluție pentru dezvoltatori".

Toate companiile din listă vor fi elemente ale blocului de informații "Companie". Companiile subsidiare vor fi atașate "părinților" lor prin valoarea proprietății blocului de informații numită "Parent". Mai întâi, creați tipul blocului de informații (companii) și blocul de informații (ID 14) în sine și adăugați la el proprietatea Parent (PARENT_COMP). Tipul de proprietate este "fixat la elemente". Nu uitați să setați permisiunile de citire pentru toți utilizatorii.

Grupează elementele blocului de informații și le afișează pe pagina site-ului






Apoi completați-o cu date de testare și conectați filialele la "părinți". Întrucât toate descrierile tuturor companiilor (în mod independent, o filială sau nu) se află în același bloc de informații, elementele vor fi legate într-un bloc de informații - aceasta va fi o caracteristică a acestei sarcini.

Grupează elementele blocului de informații și le afișează pe pagina site-ului

Grupează elementele blocului de informații și le afișează pe pagina site-ului

Creați o pagină nouă, plasați componenta bitrix: catalog.section pe ea. care va scoate lista. Pagina poate fi plasată în rădăcina site-ului și este numită, de exemplu, test_links.php. După plasarea componentei, copiați șablonul și apelați-l "el_links".

Grupează elementele blocului de informații și le afișează pe pagina site-ului

În plus, în setările componentelor din secțiunea "Aspect" → "Proprietăți", selectați numele proprietății în care este stocată legătura (PARENT_COMP). Acum vom modifica rezultatele componentei în fișierul result_modifier.php și vom personaliza șablonul. Creați fișierul result_modifier.php și plasați următorul cod în el:

Acest cod va grupa filialele și le va plasa într-o matrice cu o descriere a companiei-mamă. Pentru a verifica dacă totul se face corect, vom afișa conținutul matricei $ elInSect utilizând funcția print_r (). Ar trebui să arate astfel:

Grupează elementele blocului de informații și le afișează pe pagina site-ului

Am simplificat șablonul, eliminând tot ceea ce era superfluă pentru această sarcină, astfel încât conținutul dosarului a fost redus foarte mult. Ramane doar sa decorezi putin lista, scriind cateva reguli CSS. Ca rezultat, vom obține o pagină cu o listă de companii. De exemplu, ar putea fi o listă de clienți.

Grupează elementele blocului de informații și le afișează pe pagina site-ului

Apariția listei primite este aproape de cea creată la începutul articolului, astfel încât să poată fi considerată o sarcină completă.







Trimiteți-le prietenilor: