Sziasztok!
D6-os honlapon a display suite régióinak (header, left, right...) tartalmát szeretném modulból változtatni.
Valahogy így látom most:
- Mindegyik régióba berakok valamit, pl. egy kód field-et (vagy akár semmit).
- És egy hook-al megpróbálom a régió tartalmát elérni és ha nincs benne mező, berakni modul kódból valamit, ha van benne mező, akkor módosítani.
Ezek lennének a kérdéseim:
- Milyen hook-al lehet mezőket módosítani?
- Milyen hook-al lehet egy adott régió tartalmát lecserélni?
- Kell-e dummy mezőt berakni egy régióba, csak azért hogy lecserélhessem a régió tartalmát?
Köszönöm előre is a segítséget,
Aruna
Drupal verzió:
Fórum:
Így sikerült megoldani.
Keresgettem a neten
és ezt az api függvényt:
http://drupal.org/node/697320#hook_ds_fields
módosítottam:
Tehát létrehoztam egy Code field-et és a saját változómat raktam bele tartalomnak.
Ez így elég csúnya
Ez így elég csúnya, akkor már miért nem a DS_FIELD_TYPE_FUNCTION típust használod?
Idézem:
vagy DS_FIELD_TYPE_THEME-nél (ami szintén sokkal szebb lenne):
Egész pontos kódot nem tudok neked most rittyenteni, de érdemes lenne megnézni az nd.module fájlt:
pl.:
Viszont tudod, mit nem értek egyáltalán?
Hogy miért mutat az nd.module-lal rossz példát a Display Suite:
Na mindegy, ez elég hülyeség, bár lehet, hogy csak szemléltető jellege van... :)
Igen, tényleg nem szép
főleg
ez:
Ha lesz időm és lelkierőm, foglalkozom a szebb megoldásokkal is.
Csak erre mondtam, hogy nem
Csak erre mondtam, hogy nem szép, nem a többire. :D
Elég viccesen (?) mutat egy PHP-kódban egy eval()-lal kiértékelendő PHP-kód egy string formájában... :-O
Na ez így nem megy
Ugyanis a display suite adatbázisban eltárolja a field-eket a ds_settings táblában a fields mezőben.
Emiatt hiába változik a változóban ($myArticle1Object->title) az érték más oldalak betöltésekor, mindig a db-ben tárolt érték fog látszani.
Egy kerülő megoldás, hogy az adatbázisban csak a meghívandó függvényt tárolom le, ami majd futáskor előállítja az értéket:
Nem értem, ez a
Nem értem, ez a $myArticle1Object honnan jön? Korábban így használtad:
'code' => '<?php print "' . $myArticle1Object->title . '"; ?>',
Hol volt ez beállítva?
Amit mutattam, ott az nd_book_navigation() függvény megkapja a $field változót. Abban nem találod meg, ami neked kell, az entitáshoz tartozó szükséges adatokat?
Mi az a 'field_id' nálad?
Miért van kettő dollárjel a myArticleObject előtt?
Hátha ez még ad ötletet:
Hátha ez még ad ötletet:
http://drupal.hu/forum/egy-field-%C3%A9rt%C3%A9k%C3%A9b%C5%91l-egy-m%C3%...
Amúgy a korábban feltett kérdések még élnek. :)