Cu privire la specificul muncii mele, de multe ori trebuie să comunic cu dezvoltatorii, inclusiv cu dezvoltatorii pe 1C-Bitrix. La setarea sarcinilor cu actualizarea datelor fără reîncărcarea paginii (Ajax), am auzit de multe ori despre o creștere semnificativă a calendarului numai din cauza acestei caracteristici. După o altă conversație, am realizat un webinar pentru dezvoltatorii mei, care dezvăluie mitul că Ajax este dificil de integrat în Bitrix. Pe baza materialelor acestui webinar, scriu acest articol, sper că va ajuta și alți dezvoltatori.
Vom dezvolta un sistem de trimitere a unei citații aleatoare dintr-un bloc de informații, cu posibilitatea de a introduce cotația dorită.
Mai întâi, creați un nou bloc de informații despre "Cotațiile", adăugați o proprietate a numărului de tip, numită "Evaluare" și denumirea sistemului "RATING".
Apoi, completați infoblock-ul cu mai multe intrări de testare.
Următorul pas este să creați dosarul "ajax / quotations" din rădăcina site-ului.
Toate cererile pot fi împărțite în două tipuri:
- Primirea datelor de pe server
- Actualizarea datelor
Suntem de acord ca serverul va returna html pentru interogari de primul tip.
Pentru cererile de tip al doilea, Json.
Apoi, vom examina ambele tipuri, dar înainte de aceasta trebuie să plasăm componenta de ieșire a citatului aleatoriu în șablonul site-ului.
Pentru a face acest lucru, deschis pentru a edita fișierul index.php în locația corectă pentru a adăuga următorul cod (rețineți că trebuie să copiați componenta șablon news.list și numesc - citate):
Înlocuirea preliminară a IBLOCK_IDD cu ID-ul blocului de informații al ghilimelor.
Pentru a procesa clicul, trebuie să adăugați următorul cod în fișierul script.js și să-l conectați la șablon:
În continuare, pentru a gestiona plăcile, vom adăuga codul jquery în scriptul script.js:
În mod ideal, ar trebui să creați o componentă cu acest cod și să o conectați în acest fișier, dar lăsați-o ca temă.
Așadar, am analizat procesul de implementare ajax pe CMS 1C-Bitrix. Cum nu vezi nimic complicat. Pe baza acestor două exemple, orice altă logică poate fi implementată.