adminisztrációs oldal készítése

nevergone képe

Sziasztok...!

Egy tesztmodul készítek éppen, hogy megismerkedjek a Drupal lehetőségeivel. A modulban szerepel egy tesztmodul_admin_settings() függvény, ez hívódik meg, ha az adminisztrációs oldalon rákattintanak a modul által létrehozott menűpontra.

A kód egyelőre elég egyszerű, csak az admin oldal formját készíti el:

function tesztmodul_admin_settings() {
   $form = array ();
   $form['oldal_cim'] = array (
      '#type' => 'textfield',
      '#title' => t('a letoltendo oldal cime'),
      '#default_value' => 'localhost',
      '#description' => t('A letoltendo es feldolgozando oldal cime')
   );
   $form['minden_cron'] = array (
      '#type' => 'checkbox',
      '#title' => t('minden cron futaskor'),
      '#default_value' => FALSE,
      '#description' => t('Az idozitett feladatok minden futasakor toltse le az oldalt')
   );
   $form['idopontok'] = array (
      '#type' => 'textfield',
      '#title' => t('hany orakor toltse le az oldalt (0-23)'),
      '#default_value' => '0',
      '#description' => t('hany orakor toltse le az oldalt, szokozzel elvalasztva tobb ertek is megadhato')
   );
   return system_settings_form ($form);
}

A problémám az, hogy szeretném a formon megadott értékeket elmenteni (itt talán a variable_set függvénnyel kellene ügyeskedni), illetve szeretném, hogy a "minden_cron" jelölőnényzet bekapcsolásakor az "idopontok" szövegbeviteli mező inaktívvá válna (a benne található adatokat nem elfelejtve), a jelölőnégyzetet kikapcsolva pedig újra lehetne módosítani a szövegbeviteli mezőben található értékeket. Próbálkoztam egy feltétellel figyelni a "minden_cron" mező #disabled tulajdonságának értékét, és azerint állítani ugyanezt a tulajdonságot az "idopontok" -nál, de nem volt semmi hatása.
Milyen módon lehetne ezt megoldani?
(A modul adott időpontok eltelte után, vagy a cron minden futásakor letölt egy szöveges tartalmat egy távoli szerverről, majd megfelelően formázva egy blokkban megjeleníti azt.)

Köszönöm a segítséget. :)

nevergone képe

Nem találkozott más hasonló problémával?

0
0
Illyés Edit képe

Próbálkoztam egy feltétellel figyelni a "minden_cron" mező #disabled tulajdonságának értékét, és azerint állítani ugyanezt a tulajdonságot az "idopontok" -nál, de nem volt semmi hatása.

Hogyan figyelted a #disabled tulajdonság értékét? Mivel próbáltad állítani az időpontoknál? Nyilvánvaló, hogy csak kliens oldalon, azaz a böngészőben tudsz figyelni Javascripttel, és csak ott tudod átállítani az időpontok szövegmezőt disabled-re.

Nem vagyunk parafenomének, másold ide a kódot (bár ez egy egyszerű Javascript kérdés, talán inkább a Weblaborra való).

0
0
nevergone képe

Elnézést, abba bele sem gondoltam, hogy mindezt kliens-oldalon kellene, pedig annyira adja magát! Nos javascript, az nem volt, fáradt fejjel egy egyszerű szerveroldali, php -ben megadott feltétellel figyeltem (volna), de most már nyilvánvaló, hogy az semmiképpen sem lehet jó. :(

0
0
Sweetchuck képe

Ebben az esetben nem kell neked elmenteni az adatokat, mert azt megteszi helyetted a Drupal.
A beállított értékeket lekérdezheted.
variable_get('oldal_cim', 'default oldalcim');

0
0
nevergone képe

Köszönöm szépen a segítséget!
Igazából már csak a másik probléma maradt meg (a szövegbeviteli mező inaktívvá tétele), de érdemben még nem foglalkoztam a Javascript -tel, szóval ha valaki abban is tudna segíteni, jó lenne. :)

0
0