Születésnap naptár / Birthday module

lili_ képe

Sziasztok!

Van olyan modul Drupal 7 alá, hogy születésnapokat jelenítsünk meg rajta, vagyis év nem számítana csak hó és nap alapján jelenítené meg az adott node-okat.

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

Születésnap modul van, de nem biztos, hogy azt csinálja, amit akarsz.

https://www.drupal.org/project/birthdays

0
0

Csökönyi Ferenc

lili_ képe

Szia, nem felhasználókhoz kell, hanem van egy tartalom típus pl. Személyek és minden személy típusú node-nak van egy dátum mezője és ez alapján kellene

0
0

mini

Phoere képe

Gondoltam, ezért írtam ezt.

Ahogy azt lentebb javasolják, a Date repeat lehet a megoldás. Bekapcsolod évente ismétlődésre, aztán már csak azt kell kitalálni, hogy ezt hogy tudod pl. Views -ban kezelni

A Date repeatben van egy bug sajnos (bár a Te problémádat feltehetőleg nem érint): hozzá lehet adni kivételeket is, azonban egy új kivétel mezőt adunk hozzá (vagy szerkesztésre megmyitjuk a node-t), a már hozzáadott dátumokat egy nappal eltolja.

0
0

Csökönyi Ferenc

csakiistvan képe

Ha jol ertem ez egy nezet csak ami az adott node type datum mezojere szur, hogy ha field_date hez a filterben az allitod hogy "is equal to" -> today akkor meg is kapod azokat akiknek ma van epp.. bar ez lehet az ev miatt nem fog jo erteket adni, de meg elgondolkodnek egy Date Repeat Field modul bekapcsolasan, ami evente megismetli az esemenyt..

0
0

Drupal full-stack developer at Wunderman Thompson Budapest

csakiistvan képe

Amugy ahogy nezem a birthday modul is jo neked, mert ad egy field formatot, meg a logika benne van, es lehet node typehoz hasznalni termeszetesen, nem csak user entitashoz.

0
0

Drupal full-stack developer at Wunderman Thompson Budapest

szantog képe

Haat janyokfijjuk, vesszek el, de én ezt rules + rules_schedulerrel csinálnám.
Kell egy booelan mező: field_ma_van_a_szulinapom_pom_pom_popopom.
Kell két Action component.
1. Birthday On
2. Birthday Off
Az első a node field_ma_van_a_szulinapom_pom_pom_popopom mezőjét bekapcsolja, a második kikapcsolja

Kell egy Rule set: Birthday workflow

1. Rule: Beállítunk egy időzítést, hogy a megfelelő napon kapcsolja be a szülinapompompomat amikor.
Event: Create new [type] node
Condition: Date comparison (később)
Action: Schedule component evaulation - Birthday On - date

2. Rule: A következő időzítő 24h múlva kikapcsolja:
Event: After updating [type] node
Condition: Date comparison - [old_node:field_ma_van_a_szulinapom_pom_pom_popopom] == 0 && [node:field_ma_van_a_szulinapom_pom_pom_popopom] == 1
Action: Schedule component evaulation - Birthday Off - date: +24h

3. Rule: Az uccsó pedig egy év múlva megint bekapcsolja.
Event: After updating [type] node
Condition: Date comparison - [old_node:field_ma_van_a_szulinapom_pom_pom_popopom] == 1 && [node:field_ma_van_a_szulinapom_pom_pom_popopom] == 0
Action: Schedule component evaulation - Birthday On - date: +1y-1d

[UPDATE]
Amíg így írogattam, már nem biztos, hogy így csinálnám ebben az esetben, de most már maradjon csak érdekességnek. Az első rule időzítése pl kimondottan nehezen meghatározható, illetve épp megoldható, de két rule-al + két condition setben összerakott [node:created:custom:m] + [node:created:custom:d] > [site:current-date:custom:m] + [site:current-date:custom:d] jellegű összehasonlítással. Így mehet kattintgatva is.

Ellenben akin nem fél a saját modulból, az hook_entity_property_info_alter-ben csinálhat egy next_birtday property-t, és használhatja azt időzítőben.

Mondjuk ebben az a jó, hogy mivel tök rules, egy ültő helyében bármi mást is lehet csinálni a szülinapján, emailt küldeni, ajándék node-t posztolni, kávét/reggelit az ágyba, stb..

1
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

Phoere képe

A probléma tehát továbbra is az, hogy hogyan dobjuk el azt a fránya évet. :)

Egy saját modulban saját függvénnyel simán megoldható, illetve természetesen Rulesben is PHP feltétellel

  1. $szulinap = date("m-d", [node:field_date_szuletesnap])); // a születésnap mezőt hónap-napra módosítjuk, a field_date_szuletésnap a dátum mező
  2. $mai_nap = date("m-d"); // az aktuális dátumot szintén hónap-nap formában vesszük
  3.  
  4. ($szulinap == $mai_nap) ? return TRUE : return FALSE;

Valami ilyesmi (nem próbáltam ki). Biztosan megoldható elegánsabban, de ennek jól működő változata képes vezérelni pl. a ki-be kapcsolást.

0
0

Csökönyi Ferenc

szantog képe

Ez nem probléma, mert minden szükséges token a rendelkezésre áll:
[site:current-date:custom:?] - A date in a custom format. See the PHP documentation for details. Ja, mindez date típusú fieldre is vonatkozik, ezt tán még nem említettem.
+ sose írunk textformba php kódot, aki php kódot tud írni, az már meg tudja találni, hogy milyen hookot használjon.

1
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.