it-swarm-eu.dev

Jak používat modul Pravidla k označení uzlu, který byl právě vytvořen?

Po zveřejnění potřebuji automaticky příznak uzel. Všechny uzly určitého typu obsahu budou označeny.

Abych tento problém vyřešil, nainstaloval jsem modul Rules v naději, že budu moci automaticky označit vytvořené uzly. Modul pravidel není dodáván s akciemi s příznakem.

Je možné označit položku, která byla právě vytvořena?

5
Marcos Buarque

Chcete-li uzel při zveřejnění označit, musíte:

  • V administrátorských/konfiguračních/pracovních postupech/pravidlech vytvořte nové pravidlo, které jako událost vyberete „Po uložení nového obsahu“
  • Vytvořte podmínku „Obsah je typu“ a vyberte typ obsahu, který chcete označit
  • Klikněte na odkaz „Přidat a“, který se objeví ve spodní části tabulky podmínek
  • V řádku „A“ klikněte na „Přidat podmínku“
  • Vytvořte novou podmínku a jako typ podmínky vyberte „Obsah je publikován“
  • Přidejte novou akci a jako typ vyberte „Execute custom PHP code“)
  • Následující kód použijte jako vlastní PHP kód)

    $flag = flag_get_flag('published'); // Replace "published" with the name of the flag you want to add.
    $flag->flag('flag', $node->nid);
    

On Drupal 6, Rules vystavil vlastní akce nastavené na admin/config/system/actions, ale verze pravidel pro Drupal 7 se nezdá Příznaky pro Drupal 6, pokud si pamatuji, vystavily některé akce Pravidlům, ale nezdá se, že to dělá na Drupal) 7.
Proto jsem použil vlastní akci PHP) k označení uzlu.

0
kiamlaluno

FYI, po mnoha vyhledáváních jsem zjistil, že podpora Rule2 v Flag for Drupal7 je již v dev. Zkusil jsem to a funguje to dobře!

K dispozici je také oprava, jak je uvedeno zde: http://nodeone.se/blogg/learn-flag-with-nodeone-part-7

Není snadné Google out! : P Sbohem!

1
Paolo Pustorino

Ano, to lze provést pomocí pravidel 2 prostřednictvím uživatelského rozhraní pravidel, aniž by se vytvořilo vlastní PHP.

Po zveřejnění potřebuji uzel automaticky nahlásit.

Pokud také vytváříte uzel ve stejné akci, budete muset upravit akce pravidel, abyste mohli uzel označit bez použití vlastního kódu PHP kód).

Vytvořte nové pravidlo a přidejte akci „vytvořit novou entitu“. Viz obrázek níže:

Add Create new entity action

Dále budete muset ložit entitu (vynutit okamžité uložení) a potom entitu označit. Viz obrázek níže:

enter image description here

Bez prvního uložení entity jsem přijímal všechny druhy chyb SQL a podobně. Výše uvedená nastavení fungují pro mě a nevyžadují vlastní PHP.

0
Citricguy