webfom component beállításokba új tulajdonság felvétele

danart képe

Sziasztok,

a webform modul komponenseihez szeretnék egy kiegészítést.
A cél az lenne, hogy ne csak a webform tartalomtípusnak tudjak taxonomia kategória címkét adni, hanem magának a komponensnek.
Tehát ha készítek egy kérdőívet, akkor minden egyes kérdés beállításánál szeretném, ha lehetőség lenne egy kategória kiválasztására.

pl. Milyen színű a szemed? kérdésre a lehetséges válaszok: kék, zöld, barna. A komponens beállításokban megjelenne egy taxonómia szótár alapján egy select, amiből pl. a külső tulajdonságok-ra esne jelen esetben a választás.

Arra indultam, hogy a component beállító form-jára felveszek egy új elemet, ami taxonómia szótárra épül, de nem nagyon akar összejönni.

Valakinek ötlete, hogy merre keresgéljek?

Köszi, üdv.:
Dani

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

Ha a komponens típusa markup, akkor a Value szövegformátuma PHP is lehet:

<select>
<?php
$terms = taxonomy_get_tree(VID);
foreach ($terms as $term) {
print '<option value="' . $term -> tid . '">' . $term -> name . '</option>';
}
?>
</select>

A VID a szótár azonosítója.

Ilyesmire gondoltál?

0
0

Fox Mulder

danart képe

Köszi a hozzászólást, de ez egy mezőt adna az űrlaphoz.
Nekem az kéne, hogy minden egyes űrlap elemhez hozzá tudjak rendelni egy kategóriát. A taxonomy_get_tree ól jön, mert pont most néztem volna utána, hogy milyen lehetőségek vannak a címkék elővarázslásának.

Az űrlapelem szerkesztő form-ba bele tudtam már tenni a saját mezőt - ugyan még csak gányolás módon a webform modul webform.components.inc fájljának a webform_component_edit_form függvényébe. De legalább megtaláltam, hogy hol állítja elő a komponens beállításkor betöltött űrlapot.

Nem szeretnék webform-ba belenyúlni. Keresek valami olyan alter-t, ami hasonlót valósít meg egy külső modulból. Akkor korrekten kiegészíthetném a webform képességeit a saját igényekkel.
Ha ezzel kapcsolatosan lenne valakinek ötlete, szívesen venném.
És még egyszer köszi a segítséget. ;)

0
0
fox mulder képe

Akkor neked a hook_form_FORM_ID_alter() kell, a FORM_ID egy komponens szerkesztésekor webform_component_edit_form, vagyis:

MODULOD_NEVE_form_webform_component_edit_form_alter($form, &$form_state){
  // Új űrlap elem
  $form['valami'] = array(
    ...
  );
  // Submit kezelő
  $form['#submit'][] = 'SAJAT_FUGGVENY_NEVE';
}

Vagy ez sem?

1
0

Fox Mulder

danart képe

Köszönöm a segítséget!

0
0
nemethf képe

http://www.framlinggroup.com/content/adding-custom-fields-webform-using-...

a példa - mint írja - nem univerzális, hanem site specifikus (a hardcode-olt vid miatt) és nem a term id-t menti, hanem a szöveget, de indulásnak megfelel

0
0