Creați un contor de materiale, blogpost

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ă:

Creați un contor de materiale, blogpost

Creați un contor de materiale, blogpost

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:

Creați un contor de materiale, blogpost

Verificați rolul utilizatorului

Selectăm condiția "Utilizatorul are rol (e)".

Creați un contor de materiale, blogpost

În pagina deschisă, în selectorul de date, selectați site-ul: utilizator curent.

Creați un contor de materiale, blogpost

În următorul bloc, selectați rolul de utilizator al utilizatorului anonim.

Creați un contor de materiale, blogpost

În selectorul de date, selectați nodul

Creați un contor de materiale, blogpost

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ă.

Creați un contor de materiale, blogpost

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".

Creați un contor de materiale, blogpost

Valoarea primită de 2 este "1"

Adăugați din nou acțiunea "Calculați valoarea".

Creați un contor de materiale, blogpost

Setați valorile contorului calculate

Adăugăm acțiunea "Valoare setată".

În selector, selectați "nod: câmp-contra-total".

Creați un contor de materiale, blogpost






În caseta Value (Valoare), comutați la modul de selecție a datelor.

Creați un contor de materiale, blogpost

Și alegeți variabila "totală".

Creați un contor de materiale, blogpost

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".

Creați un contor de materiale, blogpost

Apoi, setați data curentă ("acum") ca valoare.

Creați un contor de materiale, blogpost

Î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:

Creați un contor de materiale, blogpost

Aflăm câmpul "Operațiuni în masă: Conținut" și îl adăugăm la vizualizare.

Creați un contor de materiale, blogpost

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.

Creați un contor de materiale, blogpost

Creați un contor de materiale, blogpost

Acum adăugați câteva filtre.

Creați un contor de materiale, blogpost

În setările pentru filtre, selectați:

Creați un contor de materiale, blogpost

Creați un contor de materiale, blogpost

  • Element de selecție a datei - "Text"
  • Filtrarea granularității - "Ziua"

Creați un contor de materiale, blogpost

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"

Creați un contor de materiale, blogpost

Să mergem la pagina de componente (admin / config / workflow / rules / components) și să adăugăm o nouă componentă:

Creați un contor de materiale, blogpost

Ca și componenta plug-in, selectați "Regula".

Creați un contor de materiale, blogpost

  • 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:

Creați un contor de materiale, blogpost

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.







Trimiteți-le prietenilor: