Én hook_form_alter()-rel vagy
Én hook_form_alter()-rel vagy hook_form_FORM_ID_alter()-rel adnék neki defaul értéket. Csinálsz egy custom module-t, és abba belerakod az alábbi hook implementációt:
/** * Implements hook_form_FORM_ID_alter(). */ function MODULOD_NEVE_form_FORM_ID_alter(&$form, &$form_state, $form_id) { }
A FORM_ID-t kitudod nézni, ha a böngésződ inspectorával megvizsgálod a form-ot, egy hidden mezőben megtalálod az értékét.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Több hiba is van
Drupal 6-ban még nem csináltam form element-et, de 5-ösben egy kicsit másképpen kellett.
Egy form element-nek az az egyik jó tulajdonsága, hogy a "végfelhasználónak" (űrlap készítő programozónak) nem kell foglalkoznia a belső működésével. Sőt! Nem is tudja, hogy az hogyan is működik valójában.
Tehát nem is tud arról, hogy az egy tömb aminek van 'p1' vagy 'p2' indexe.
Egyébként ha logikusan gondolkozol (én már többször is rájöttem arra, hogy utólag minden logikus) akkor rájössz, hogy a rid_process() mindent felülír amit a my_map_function() előzőleg létrehozott (hibásan).
Ha azt szeretnéd. hogy a végfelhasználó változtathasson a listák tartalmán akkor:
function form_builder_callback($form_state) { //itt csak a #-kal (vagy -tel) kezdődő indexeket buzeráld $form['rendszer'] = array( '#type' => 'rid', '#options_p1' => array('0' => 'és itt a lista'); '#options_p2' => array('0' => 'ez meg egy másik'); ); } function my_rid_process($element) { $element['p1'] => array( '#type' => 'select', '#options' => $element['#options_p1'], ); $element['p2'] => array( '#type' => 'select', '#options' => $element['#options_p2'], ); return $element; }
Szerintem a theme_rid()
//nem értem, hogy miért csonkítod. return theme('form_element', $element, "<div class=\"container-inline\">". $element['#children'] .'</div>');
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Nem feltétlenül kell rossznak lennie annak...
...amit nem TE csinálsz.
Én egy oldal fejlécéhhez használom az „JW Image Rotator”-t. Ehhez is tartozik egy xml állomány, ahol definiálva van azoknak a képeknek az útvonala és neve, amelyeket a beállításoknak megfelelően váltogatnia kell a programnak.
A fejléc részben a következő kódot használom (a kód elején a „<?php”, valamint a végén található „?>”-ra nincs szükség, csak a kódkiemelés miatt tettem bele!)
<object type="application/x-shockwave-flash" data="/sites/domainname.hu/themes/mytheme/flash/imagerotator.swf" width="970" height="180" id="frontpage"> <param name="movie" value="/sites/domainname.hu/themes/mytheme/flash/imagerotator.swf" /> <param name="menu" value="false" /> <param name="quality" value="high" /> <param name="bgcolor" value="#2B0600" /> <param name="flashvars" value="logo=/sites/domainname.hu/themes/mytheme/flash/logo-v3.2.png&height=180&width=970&file=/sites/domainname.hu/themes/mytheme/flash/banner.xml&transition=fade&showicons=false&repeat=true&wmode=transparent&usefullscreen=off" /> <param name="wmode" value="transparent" /> <img src="/sites/domainname.hu/themes/mytheme/flash/imagerotator.swf" width="970" height="180" alt="" /> </object>
Mint az látható is, a banner.xml tartalmazza a „külső információkat”, ami amúgy a következőképpen néz ki:
<?xml version="1.0" encoding="utf-8"?> <playlist version="1" xmlns="http://xspf.org/ns/0/"> <trackList> <track> <title> </title> <creator> </creator> <location>http://www.domainname.hu/sites/domainname.hu/themes/mytheme/flash/1.jpg</location> <info> </info> </track> <track> <title> </title> <creator> </creator> <location>http://www.domainname.hu/sites/domainname.hu/themes/mytheme/flash/2.jpg</location> <info> </info> </track> </trackList> </playlist>
Vagyis mindenhol igyekeztem abszolút útvonallal megadni a fájlok elérhetőségét, mert így nem kell találgatni, hogy vajon most milyen útvonalon is keresi az xml-t, a képeket, stb.
Szóval szerintem egyszerűen csak rosszul paraméterezed fel a dolgokat, emiatt nem látszódik/látszódott a flash.
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Nem feltétlenül kell rossznak lennie annak...
...amit NEM TE csinálsz.
Én egy oldal fejlécéhhez használom az „JW Image Rotator”-t. Ehhez is tartozik egy xml állomány, ahol definiálva van azoknak a képeknek az útvonala és neve, amelyeket a beállításoknak megfelelően váltogatnia kell a programnak.
A fejléc részben a következő kódot használom (a kód elején a „<?php”, valamint a végén található „?>”-ra nincs szükség, csak a kódkiemelés miatt tettem bele!)
<object type="application/x-shockwave-flash" data="/sites/domainname.hu/themes/mytheme/flash/imagerotator.swf" width="970" height="180" id="frontpage"> <param name="movie" value="/sites/domainname.hu/themes/mytheme/flash/imagerotator.swf" /> <param name="menu" value="false" /> <param name="quality" value="high" /> <param name="bgcolor" value="#2B0600" /> <param name="flashvars" value="logo=/sites/domainname.hu/themes/mytheme/flash/logo-v3.2.png&height=180&width=970&file=/sites/domainname.hu/themes/mytheme/flash/banner.xml&transition=fade&showicons=false&repeat=true&wmode=transparent&usefullscreen=off" /> <param name="wmode" value="transparent" /> <img src="/sites/domainname.hu/themes/mytheme/flash/imagerotator.swf" width="970" height="180" alt="" /> </object>
Mint az látható is, a banner.xml tartalmazza a „külső információkat”, ami amúgy a következőképpen néz ki:
<?xml version="1.0" encoding="utf-8"?> <playlist version="1" xmlns="http://xspf.org/ns/0/"> <trackList> <track> <title> </title> <creator> </creator> <location>http://www.domainname.hu/sites/domainname.hu/themes/mytheme/flash/1.jpg</location> <info> </info> </track> <track> <title> </title> <creator> </creator> <location>http://www.domainname.hu/sites/domainname.hu/themes/mytheme/flash/2.jpg</location> <info> </info> </track> </trackList> </playlist>
Vagyis mindenhol igyekeztem abszolút útvonallal megadni a fájlok elérhetőségét, mert így nem kell találgatni, hogy vajon most milyen útvonalon is keresi az xml-t, a képeket, stb.
Szóval szerintem egyszerűen csak rosszul paraméterezed fel a dolgokat, emiatt nem látszódik/látszódott a flash.
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
összedobtam most egy ilyet, nagy vonalakban így
story tartalom típusomnak adtam egy sugár mezőt, integer. neve: field_radius. van egy gmap térképem ami ezeket a story nodeokat jeleníti meg. mezőként benne van a sugár is.
ezután már csak egy elegáns előfeldolgozóval hozzáadunk shapeket a megadott sugárral a térképhez, kb így:
(az én sminkemet playground -nak hívják)
template.php:
function playground_preprocess_gmap_view_gmap(&$vars) { #dsm($vars); $map_object = $vars['map_object']; $map_object['id'] = 'radiustest'; foreach ($vars['view']->result as $key => $row) { $shapes[$key]['type'] = 'circle'; // type of shape $shapes[$key]['radius'] = $row->node_data_field_location_cck_field_radius_value; $shapes[$key]['center'][0] = $row->location_node_data_field_location_cck_latitude; $shapes[$key]['center'][1]= $row->location_node_data_field_location_cck_longitude; } $map_object['shapes'] = $shapes; $vars['map'] = theme('gmap', array('#settings' => $map_object)); }
ez alapján már mennie kell. ez az előfeldolgozó ugye minden gmap viewnal le fog futni, figyelned kell a varsban hogy az a nézet dolgozódik e fel, amibe bele akarsz szólni. az elején van egy kikommentezett dsm($vars), ha van devel modulod és nem kommentezed ki ezt a sort, láthatsz minden változót ami itt elérhető.
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges






A kódban
ez a taxonomy field azonosítója: "field_voc_category"
Nálad is ez az azonosító?
Amúgy logikailag jónak tűnik a fenti kód. Nézz bele az objektumokba is, pl. így:
A devel modult engedélyezd, ha a dpm() függvényt használod.