Dar acest modul este extrem de ineficient, deosebit de greu și funcționează cu erori.
Contorul nostru va fi capabil:
Toate acestea implementăm fără cunoașterea limbajelor de programare.
Pasul 1. Instalați modulele necesare
Va trebui să instalați următoarele module:
Instalați-le în folderul site-uri / implicite / fișiere. accesați pagina de activare a modulelor (admin / modules) și includeți următoarele:
Desfășurăm cron, curățăm cache-ul (doar în caz) și mergem la secțiunea următoare.
Pasul 2: Configurați materialul
Vom crea materialul nostru. Pentru aceasta, mergeți la câmpurile de gestionare a paginilor.
Adăugați următoarele câmpuri:
În setări specificăm câmpul de completat, valoarea minimă este "0" iar valoarea implicită este "0". Captură de ecran a setărilor.
În setări, selectăm și câmpul necesar. În setările avansate, eliminați poziția marcajelor pentru o dată și setați valoarea implicită la "Acum". Am pus procesarea fusului orar "Fără prelucrarea fusului orar". Captură de ecran a setărilor.
Rețineți că, dacă intenționați să citiți statistici ale mai multor tipuri de materiale - trebuie să adăugați aceleași câmpuri în fiecare dintre ele.
Materialul nostru este gata, treceți la pasul următor.
Pasul 3: Creați o regulă
Adăugarea unei noi reguli
Mergeți la admin / config / workflow / rules și creați o regulă:
Regula noastră este creată, să începem să o stabilim.
În blocul "Condiții", verificați materialul pentru a respecta anumite condiții. Să adăugăm câteva cecuri:
Verificați rolul utilizatorului
Selectăm condiția "Utilizatorul are rol (e)".
În pagina deschisă, în selectorul de date, selectați site-ul: utilizator curent.
În următorul bloc, selectați rolul de utilizator al utilizatorului anonim.
În selectorul de date, selectați nodul
Aceste condiții sunt suficiente pentru a ne îndeplini sarcina. Dacă trebuie să faceți o verificare mai detaliată - adăugați-vă propriul.
Numele blocului "Acțiuni" vorbește de la sine. Aici vom adăuga acțiunile care trebuie îndeplinite dacă sunt îndeplinite condițiile de mai sus.
Adăugați o acțiune nouă.
Selectați "Calculate value" din listă.
În setările de acțiune, în selectorul Valoare de intrare 1, selectați câmpul "nod: câmp-contra-total".
Valoarea primită de 2 este "1"
Adăugați din nou acțiunea "Calculați valoarea".
Setați valorile contorului calculate
Adăugăm acțiunea "Valoare setată".
În selector, selectați "nod: câmp-contra-total".
În caseta Value (Valoare), comutați la modul de selecție a datelor.
Și alegeți variabila "totală".
Ei bine, ca valoare, adăugați variabila "azi".
Valorile sunt salvate. Mergem mai departe.
Adăugați acțiunea familială Setare valoare.
În selector, selectați "nod: câmp-cont-data".
Apoi, setați data curentă ("acum") ca valoare.
În acest lucru vom ajuta din nou modulul Reguli, acum cu o grămadă de VBO.
Adăugarea unei vizualizări VBO
Să mergem la pagina de creație a vederilor (admin / structure / views / add) și să adăugăm o vizualizare cu următorii parametri:
Salvați vizualizarea și treceți la adăugarea câmpurilor.
În principiu, câmpurile nu sunt deosebit de interesante pentru noi, deoarece nu vom face nimic acolo, doar vom adăuga câmpul VBO:
Aflăm câmpul "Operațiuni în masă: Conținut" și îl adăugăm la vizualizare.
Setările nu pot fi efectuate, salvați doar câmpul.
În blocul "Pager Navigator", selectăm toate elementele din setările de afișare.
Acum adăugați câteva filtre.
În setările pentru filtre, selectați:
- Element de selecție a datei - "Text"
- Filtrarea granularității - "Ziua"
Faceți clic pe "Aplicați și continuați"
- Operator - "Mai puțin sau egal"
- În selecție, selectați "Introduceți o dată relativă"
- În câmpul apărut, introduceți "ieri"
Să mergem la pagina de componente (admin / config / workflow / rules / components) și să adăugăm o nouă componentă:
Ca și componenta plug-in, selectați "Regula".
- Nume - "Resetarea contorului pentru ziua de azi"
- Numele mașinii este "null_today_counter"
- Variabile (tip de date) - "Material"
- Variabile (etichetă) - "Noda"
- Variabile (denumirea mașinii) - "nod"
- Variabile (utilizare) - "Parametru"
Pe pagina componentei, adăugați condiția "Material Type".
Adăugăm acțiunea "Valoare setată".
În selectorul de date, introduceți valoarea "node: field-counter-today".
Ca valoare de setare, scrieți "0" și salvați acțiunea. Captură de ecran a setărilor.
Adăugați o regulă de procesare VBO
Mergeți la pagina cu reguli de adăugare (admin / config / workflow / rules) și creați una nouă cu următorii parametri:
Salvăm regula și adăugăm o nouă acțiune "Descărcați lista ID-urilor entităților din vizualizarea VBO"
Argumentele nu se întreabă.
În setările variabilei scrieți:
- Eticheta variabilă este "Listă de materiale"
- Numele variabilei este "node_list"
Și salvați setările. Captură de ecran a setărilor.
Acum adăugăm o buclă la nodurile extrase:
Ca buclă, selectați lista de noduri. și salvați setările.
Adăugarea unei acțiuni la bucla:
Acțiunea "Extrageți esența prin ID". Ca valoare, selectăm materialul.
Blocați comutatorul "ID" la modul de selecție a datelor, iar în selector introduceți "lista-element".
Adăugați o acțiune suplimentară la bucla. Selectați componenta de regulă pe care am creat-o (la sfârșitul listei, în caseta "Componente") "Resetarea contorului pentru ziua de azi".
În selectorul de date, introduceți "entitate preluate" și salvați acțiunea.
Principalul lucru este acum să configurați lansarea Cron pe server, cel puțin o dată pe zi.
Nu sunt sigur că puteți obține IP-ul utilizatorului curent în reguli. Acesta este ceva ce se face programabil.
IP-ul nu a fost de mult timp un indicator al unicității utilizatorului. Este mai corect să comparăm în funcție de sesiune / cookie-uri, care Regulile nu permit implementarea prin mijloace regulate.
Shl - vă mulțumesc pentru evaluarea pozitivă, dar materialul este conceput mai mult ca o demonstrație a posibilităților de reguli, mai degrabă decât o soluție de lucru.