Rules

Umožňuje definovat podmíněné provádění akcí založených na nastalých událostech (známé též jako reaktivní nebo exportní pravidla – např. pošli e-mail administrátorovi, když je vytvořen nový článek nebo stránka). Podrobnosti viz IntroductionRules: Rule Based Action Execution (Drupal 6).

Jedná se o alternativu s více možnostmi k základnímu modulu Trigger a nástupce modulu Workflow-ng (viz rules/UPGRADE.txt).

Návody:

Instalace a nastavení:

  1. Rozbalte modul Rules 6.x-1.0 do adresáře sites/all/modules/.
  2. V admin/build/modules (Administrace, Prvky webu, Moduly) povolte požadované moduly:
    • Rules
    • Rules Administration UI
    • Rules Scheduler
    • (Rules Simpletest – vyžaduje modul Simpletest)
  3. V admin/rules (Administrace, Rules) můžete definovat nové akce.
  4. Podporu nahrazování získáte instalací modulu Token.
  5. Podporu PHP získáte instalací modulu PHP.
  6. Zkontrolujte nastavení cronu.
  7. V admin/user/permissions (Administrace, Uživatelé, Oprávnění) upravte příslušná oprávnění.

Drupal 7:

  • Podmínky:
    • Entity has field – umožňuje pracovat s poli "připojí pole k rules"
      • vícenásobným použitím je možné propojit další tabulky spojené pomocí relací (referencí)
    • NOT Data value is empty – kontrola, zda je pole připojeno správně (je třeba zaškrtnout negaci :)
    • nyní (datestamp): <?php echo time(); ?>
  • Komponenty:
    • umožňují znovupoužití stejných podmínek a akcí ve více pravidlech
    • umožňují použít podmínky na více místech (ne jen na začátku pravidla)
  • Kontrola funkčnosti (ladění, debugování)
    • V admin/config/workflow/rules/settings (Konfigurace, Postup práce, Rules, Nastavení) v sekci Debugging je možné zapnout zobrazování "ladících" informací

Další moduly:

  • Conditional Rules
  • Rules forms support
  • Rules link
  • Rules link event
  • Views Bulk Operations (VBO)
  • rozšíření cron možností:
    • Ultimate Cron
    • Elysia Cron
  • Rules Bonus Pack
    • verzi 7.x-1.x-dev (2015-Jan-29) je vhodné doplnit o patch drupal.org/node/2167663#comment-9569607
  • Site availability (sandbox)

Příklad automatického odpublikování (smazání) obsahu staršího než 3 měsíce (Drupal 7):

  1. Nainstalujte moduly Rules a Views Bulk Operations (VBO).
  2. Vytvořte Views, které vyfiltruje požadovaný obsah starší než 3 měsíce
    • Pole:
      • Bulk operations
      • Datum
      • Název
    • Filtr:
      • Typ obsahu
      • Datum je menší než "now -3 month"
  3. V Rules vytvořte komponentu
    • Akce: Odpublikovat (Smazat) obsah
  4. V Rules vytvořte pravidlo
    • Událost: Cron maintenance tasks are performed
    • Akce:
      • Load a list of entity objects from a VBO View
      • Loop
        • ​Název vytvořené komponenty

Příklad přesměrování (Page redirect):

  • Komu: content/node/1?url=[node:nid]&zn=[node:title]#obsah

V admin/workflow-ng/cclinks (Administrace, Workflow-ng, Content links) je možné u zvolených typů obsahu vytvářet konfigurovatelné odkazy, kterým je poté nutné přiřadit nějakou akci.