A Rules modul fetch entity részével kínlódok.
Adott egy Node Ownership modul amivel a felhasználók kezdeményezhetik, hogy a nevükre kerüljenek node-ok (ők legyenek az authorok). Erről a modul csak az adminnak küld értesítést, de én szeretném, hogy az eredeti author is értesüljön róla. Ehhez a modul szerencsére biztosít változókat a Rules plugin számára is, amiből összeeszkábáltam egy ilyesmit, ami a mellékelt képen látható.
Kiindulási alap a [claim:nid] változó, ami a birtokolandó node ID-jét szolgáltatja. Második lépésben a node author e-mail címére lennék kíváncsi, harmadik lépésben emilküldés, negyedikben a változót íratnám ki a képernyőre, hogy ellenőrizzem. De nem megy, csak ennyit ír ki a Drupal:
<? echo $fetched_email?>
Jó egyáltalán az elv, ami alapján megcsinálnám?
Csatolmány | Méret |
---|---|
rules.jpg | 64.37 KB |
Megoldottam
Helyzet: egy bringás oldalon a már felvitt bringákat nem akarom, hogy eladás esetén töröljék az eladók, hanem a vevők nevére lehessen íratni. Az átírás az Override node options modullal lehetséges, ami lehetővé teszi, hogy az adott node típusnál az eladó átírhassa az author mezőt egy másik létező felhasználónévre. De ha lusta az eladó, és nem írja át, a vevő részéről is meg lehet sürgetni a folyamatot a
Node Ownership modullal.
Node Ownershipnél beállítom, hogy milyen node típusoknál lehet kérelmezni a tulajdonos átírását. Ott megjelenik egy gomb, alapesetben Claim felirattal.
Rules beállításainál létrehozok egy új szabályt mondjuk Claim néven.
Esemény hozzáadása: Egy új claim mentése után.
Feltétel: tetszőleges, nekem most nem kell.
Új akció hozzáadása: Fetch entity by id
Érték: tartalom (node)
Azonosító: claim:nid - ez a kérelem tárgyául szolgáló node azonosítója
Alul a fetched entity változónak a fetched_node nevet adtam.
Az első része kész mentés, most új akció következik, ahol már lehet e-mailt írni, üzenetet megjeleníteni, vagy másképp felhasználni a változókat.
Olyan változókat lehet használni, mint pl. [fetched-node:author] az eredeti tulajdonos felhasználónevének kiíratására, [fetched-node:author:mail] az e-mail címére, [fetched-node:field: az egyéb mezőkre, [site:current-user] a kérelmező felhasználónevére és így tovább.
Így létre tudok hozni egy az eredeti tulajdonosnak szánt e-mailt: