Sarcina este deja implementată pentru cadrul yii2.
La instalarea modulului, utilizatorul trebuie să precizeze în controlerul său și în vizualizarea unde este necesară transmiterea datelor de la 3 metode de module cu setări diferite:
în regulator - modulul inițial de ajustare - model, cache de configurare, un alias pentru vyuha ajax (așa cum a livrat datele filtrate), care va renderPartial () „GSI controlerul principal Vyuha
în vizualizarea principală - specificăm casetele de selectare pe care le redăm, adică prin ce proprietăți ale modelului și prin ce valori vom filtra datele
în vizualizarea principală - metoda specifică locul în care vom face vizualizarea ajax cu datele
Acum despre arhitectura:
Când descărcarea sau actualizarea paginii de apel modul punct - metoda modulului (care ne referim la modelul și modul de configurare), cauzate de regulatorul respectiv, atunci metoda modulului ne bat pe controlerul de modul, în cazul în care vom merge la clasa modul care se adună interogare și pentru a obține date de la modele, pe care le transferăm înapoi la controlerul modulului, unde le afișăm apoi în ajax-view.
Cel mai important, toate setările modulului sunt specificate atunci când modulul este apelat în controlerul utilizatorului.
Problema este acum:
Când faceți clic pe caseta de validare, ajax-th bate direct în controlerul modulului în sine și apoi există o problemă - obțineți setările specificate anterior ale modulului. și printre setările sunt obiecte (model, de exemplu).
În acest moment sunt pe primul apel al modulului, printre altele, bagat toate setările necesare în matrice, care este criptat (folosind encryptByKey yii2 () cookieValidationKey cheie, care este unic pentru fiecare aplicație yii2), iar apoi a pus matrice în sesiune. Prin urmare, în ajax-cerere la un modul controler, am primi toate setările din sesiune, decripta cu aceeași cheie, și apoi trebuie să funcționeze ca de obicei, pentru a primi datele filtrate și să le aducă la ajax-Vyuha.
De fapt, aș dori să știu - cum să schimbe arhitectura modulului pe care ar primi setările de la modulul ajax-cerere la modulul fără sesiuni de utilizare, cookie-uri, și storadzhey baze de date locale?
Stare - setările modulului trebuie specificate în controlerul în care este apelat acest modul.
A încercat o variantă - pentru a fi învinsă ajax "în controlerul de la care modulul este cauzat, adică am hacked acolo și am re-recepționat setările, dar au existat pietre teribile cu vederi de randare (în vederea principală, vizualizarea principală a fost redată din nou)
Iată o imagine curbă cu structura modulului, trasă acum o lună și în grabă (un minut de râs =)):