Sheduler Rules-szal

DruTa képe

Üdv!

Bizonyos node-okat időzítéssel akarok megjeleníteni, tehát nem azonnal a feltöltés után.

Rules-szal van beállítva, hogy kinek menjen a tartalom beküldéséről értesítés.

Azonban hiába a későbbi megjelenés, a Rules azonnal elküldi a tartalom feltöltésről az értesítést.

Hogy miért nem Rules-szal időzítek?

Azért, mert az a Cron futáshoz van igazítva, ellenben a Sheduler, ami, ha a tárhely Cron beállítási felületén be van állítva, akkor függetlenül a Drupal cron-tól, ami 1 órűnként fut, ez ténylegesen akkor jelenik meg, amikor a Shedulerben beállítottam a tartalom feltöltésekor.

A kérdés: hogyan értessem meg a Rules-szal, hogy a tartalom tényleges megjelenésekor küldjön csak értesítőt? Mert ott csak a tartalom mentése, ami beállítható ilyen téren, a közzététel nem.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
dj képe

eventre ülj rá és feltételként add meg, hogy a
Nem módosítotott tartalom -> rejtett
A módosított tartalom -> közzétett

Akció a levélküldés.

{ "rules_teszt" : {
    "LABEL" : "teszt",
    "PLUGIN" : "reaction rule",
    "REQUIRES" : [ "rules" ],
    "ON" : [ "node_update" ],
    "IF" : [
      { "NOT node_is_published" : { "node" : [ "node-unchanged" ] } },
      { "node_is_published" : { "node" : [ "node" ] } }
    ],
    "DO" : [
      { "mail" : {
          "to" : "[email protected]",
          "subject" : "Level targya",
          "message" : "Szoveg",
          "language" : [ "" ]
        }
      }
    ]
  }
}
0
0

Üdv!
Dudás József

DruTa képe

Kösz, de ezt hova is? Az Event részbe nincs lehetőség ezt beírni. Az Action-be, annak a PHP kiértékelés mezőjébe, ahol a levélküldés meg van adva?

0
0
dj képe

admin/config/workflow/rules/reaction/import

és javítsd a levélküldés részét.

0
0

Üdv!
Dudás József

DruTa képe

Kicseréltem ezt a részt (a már létezőből exportáltam ki):

 "IF" : [
      { "node_is_of_type" : { "node" : 
[ "node" ], "type" : { "value" : 
{ "article" : "article" } } } }
    ],
    "DO" : [

Arra, amit te írtál, az IF és DO közötti részt, de hibát jelez.

"IF" : [
      { "NOT node_is_published" : { "node" : 
[ "node-unchanged" ] } },
      { "node_is_published" : { "node" : 
[ "node" ] } }
    ],
    "DO" : [

"
Integrity check for the imported configuration failed. Error message: Data selector node-unchanged for parameter node is invalid.
"

0
0
dj képe

Milyen eventet használ a "már létező"? Ha nem node_update eventet használ akkor nem is fog működni a feltétel ami az eredeti tartalomra vonatkozik.

0
0

Üdv!
Dudás József

DruTa képe

Event rész nincs az importált kódban, a beállításoknál pedig amit küldtem: "Új tartalom mentése után".

0
0
dj képe

Ha nem akkor akarsz üzenetet küldeni amikor mentik a tartalmat (Új tartalom mentése után event/esemény) akkor neked NEM ez kell, hanem a "Tartalom módosítása után" event/esemény.

0
0

Üdv!
Dudás József

DruTa képe

Az időzítő munkáját módosításnak fogja értelmezni? Csak mert a tartalom effektíve nem fog változni később.

Kipróbálok azért, hátha...

És így nem is kell a te kódod?

UI: Sajnos nem találtam magyar leírást a Rules-hoz tartozó időzítőről, és elakadok ott, hogy komponenst kell előbb csinálni, de hiába csinálok, akkor sem válik legördíthetővé az időzítőjének beállításához szükséges komponens kiválasztó. Egyáltalán miért is kell a komponens?

Tudsz erről valami linket, ahol kezdő embernek le van írva?

---

Na, kipróbáltam, hogy a tartalom módosítást állítottam be.

Ez esetben az időzítővel való együttműködés jó lett, azaz nem küld értesítést mailban, csak amikor az időzítő közzétetté teszi a tartalmat.

Azonban ez sem jó megoldás, mivel ha nem időzítek egy tartalmat (és nem mindig időzítek), akkor nem küld értesítést.

0
0
dj képe

hanem olykor rögtön közzétettként jelenik meg, akkor használd az "Új tartalom mentése után" eseményt, feltételnek add meg, hogy a tartalom közzétett legyen.
Tehát lesz két szabályod:
1. "Új tartalom mentése után" ami akkor küld levelet, ha közzétett a tartalom
2. "Tartalom módosítása után" ami akkor küld levelet, ha nem közzétettről közzétettre változik a státusza.

0
0

Üdv!
Dudás József

DruTa képe

Kösz, ez így működik, csak kár, hogy két külön szabály kell hozzá és nem lehet egy szabályon belül manipulálni.

0
-2