Sziasztok!
A következő funkciót szeretném megvalósítani:
engedélyt adnék a felhasználóknak, hogy tartalmakat küldhessenek be, de szeretném a drupal input formját saját kinézetűre változtatni, illetve néhány adatot php-ból megadni. Egy példán keresztül:
A felhasználónak 3 adatot kéne kitöltenie: oldal címe, leírása, illetve típus (mind külön textfield cck-ban) Amint ezt kitöltötte, és beküldi, szeretném, ha egy php függvény meghívása segítségével egyéb adatokat is megkaphatnék (google pagerank, alexa adatok, stb)
A szükséges php fájlok már készen vannak, már csak valahogy el kéne érnem azt, hogy amint jóváhagyja a beküldő a fent említett 3 adatot, az oldal meghívja a függvényeket, amik (az oldal címének felhasználásával) összeszedik az adatokat, majd a kapott php-változókat különböző cck-fieldekbe menti (azaz mintha kitöltené a felhasználó, de ő ebből semmit nem látna, minden automatikusan történne).
Sajnos a cck2 input form theme-ing témában összesen 1 leírást találtam, az sem teljesen tiszta, így nem igazán tudom szétszedni részeire a formot, és hozzárendelni a megfelelő értékeket. Azt sem tudom még, hogy hogyan lehetne az alapértelmezett mezőket (szótár, stb) eltüntetni, hogy csak és kizárólag a szükséges adatok maradjanak.
modulba kell ezt csinálnod
a hook_form_alter -t kell használni és azzal a node beküldő űrlapba kapaszkodni. ezzel tudsz saját függvényeket is hozzáfűzni a beküldési lánchoz.
ugyan ezzel a hurokkal el tudod szépen (és szabályosan) "tüntetni" a nem kívánt űrlaprészeket is. (#access értéküket false -ra állítod és kész)
api.drupal.org -on keress hook_form_alter, meg van form api quickstart guide is.
-
clear: both;
tobb lehetoseg
Tobb felekeppen is lehet csinalni:
1. Ha nem fontos, hogy azonnal bekuldes utan megjelenjenek az adatok, akkor hook_cron segitsegevel idozitett feladatkent szepen vegig lehet lepkedni az uj nodeokon.
2. hook_form_alterben hozzafuzni egy sajat submit fuggvenyt, es abban megcsinalni a modositasokat, ez talan egy kicsit macerasabb.
3. hook_nodeapi segitsegevel meg a node mentese elott ki tudod tolteni a az ures mezoket (mentes utan is lehet, de akkor ujra menteni kell ami felesleges :))
Azokat a form mezoket amiket nem akarsz mutatni aboros altal emlitett modon el tudod tuntetni.
---
http://drupalaton.hu
node form
Köszi mindkettőtöknek a segítséget, így már neki tudok kezdeni a feladatnak, és szépen lassan talán sikerül is majd beletanulni és a megfelelő változtatásokat eszközölni a formon!