Bitrix filtru (căutare) de la toate mărfurile catalog de proprietăți specifice

Anterior, în acest articol a fost descrisă o modalitate foarte greoaie și nu destul de productivă de a scoate bunuri din întregul catalog pentru proprietățile dorite (marca și sexul). În prezent, există o metodă mai simplă utilizând componente standard Bitrix.







1. Creați proprietățile necesare în catalogul Brand, Paul.

2. Concluzii în locul potrivit la șablonul de site-ul (napirimer, în coloana din stânga) componenta elemente de filtrare bitrix: catalog.filter, specificați toți parametrii necesari în „Numele matrice pentru filtrarea de ieșire“ a scrie aici, de exemplu, arrF, pentru a alege nostru proprietăți prin care vom filtra.

3. Creați o pagină pe care vor fi afișate rezultatele, adăugați aceeași componentă, luați-o

. de mai jos se adaugă elementele componente secțiunea bitrix: catalog.section, setați parametrii doriți, în special în „numele șirului de valori de filtrare pentru a filtra elemente“, de asemenea, scris arrF și a pus o căpușă „Arată toate elementele, în cazul în care acestea nu sunt specificate:“. (Este important ca elementul de filtru este în picioare în fața unei componente a listei de bunuri care pot fi puse în cazul în care primul filtru în coloana din dreapta, apoi al doilea, și nu au nevoie).

Încerc să pun în aplicare același filtru, dar am o căutare după nume.
în cazul în care pentru a scrie acest cod, este chiar mai complicat că există deja un filtru. Voi fi foarte recunoscător dacă vă veți sfătui sau spune-mi

Practic, dacă veți căuta doar după nume, puteți utiliza de obicei căutare built-in, există dezavantaj este faptul că rezultatele nu se obține o imagine, cum să se stabilească descrise aici smsdesign.com.ua/. /.
Dacă aveți deja un filtru standard pe pagină, atunci trebuie să existe și un filtru după nume.
Acest lucru este descris în acest articol, este scris pe o pagină separată php (aici, de asemenea, prin numele există o filtrare). Dacă te uiți aici fakt.net.ua/. /. . atunci codul este scris pe o pagină goală /brand/index.php






Dezavantajul este că dacă te duci aici, fakt.net.ua/brand/. atunci pe acest site vor exista absolut toate produsele, deci pe acest site nu există nici o legătură directă cu acest filtru, dar există legături cu cea principală deja specifică pentru fiecare marcă

vă mulțumesc foarte mult! Voi incerca)

Ți-ai făcut componenta? Puteți pune componenta în sine și paginile legate (index.php.)
vă mulțumesc.

Aceasta nu este o componentă, ci o pagină separată php. Am creat o pagină goală și să se înregistreze /brands/index.php acolo tot acest cod, având în vedere datele lor (informații ID-ul bloc, coduri de caractere proprietăți necesare, etc.) Dacă doar te duci la această pagină, acesta va indica toata lista de produse. Nu am putut realiza navigarea pe pagini. și din moment ce aceste bunuri sunt prea multe, atunci am legătura principală imediat cu filtrul / marca /? mărcile = versace

Vă mulțumim că filtrul de pe numele mărcii nu funcționează, numai dacă setați codul de identificare al mărcii respective. Unde să te uiți?

În cazul meu, dacă te uiți pe marca Versace, trebuie să faceți clic pe un link / marca /? Brands = versace sau pagina / marca / lista alege marca Versace și faceți clic pe Alegeți. aici sunt marcatorii parametrilor și Versace sunt specificate în lista de selecție de la începutul codului, după a treia linie. Dacă introduceți doar numele Versace în câmpul Name, atunci filtrul va căuta acel cuvânt în câmpul Titlu, vă completați admin atunci când adăugarea unui produs

Dar nepoymu ca să primească proprietate, după toate în CIBlockElement. GetProperty este trecut la ID_BLOCK, și îmi place în piesa anterioară, treci tipul sau matricea blocurilor de informații.

Problema este că la mine lista marcilor pe care le filtrăm, este înregistrată manual, și $ arFilter1, etc. Este necesar să afișați proprietățile aflate deja lângă mărfurile care apar pe pagină. Dacă aveți proprietăți diferite pentru bunurile din diferite blocuri de informații, de ce să nu ieșiți mai întâi lista de bunuri de către proprietatea dorită dintr-un bloc de informații, apoi dintr-un altul,
$ ArFilter1 = Array ( "IBLOCK_ID" => 12, "% NAME" => $ cuvânt, array ( "? PROPERTY_BRAND" => $ br "? PROPERTY_POL" => $ pol), "ACTIVE_DATE" => "Y" , "ACTIV" => "Y");
$ ArFilter2 = Array ( "IBLOCK_ID" => 13, "% NAME" => $ cuvânt, array ( "? PROPERTY_BRAND" => $ br "? PROPERTY_POL" => $ pol), "ACTIVE_DATE" => "Y" , "ACTIV" => "Y");
și apoi repetați codul celui de-al doilea bloc de informații

Nu am înțeles ce ai făcut. Unde scrieți $ arFilter1? Pe pagina din acest cod am următoarele:

Acesta este un mesaj despre abonarea la notificări (un daw nu a postat într-o postare anterioară)

Vă mulțumim pentru clarificare, că, în general, am obținut rezultatul muncii, dar nu știu cum altceva să deduc prețul și disponibilitatea, adică preț și cantitate.

Iată cum puteți face numele articolului să apară deasupra imaginii?

Încercați să afișați variabila php $ arResult ["NAME"] în șablonul de pagină detaliat al elementului în locul potrivit







Trimiteți-le prietenilor: