Drupal Commerce + Conditional Fields
Eingetragen von 1kubik (903)
am 23.06.2013 - 16:08 Uhr in
am 23.06.2013 - 16:08 Uhr in
Hallo und Guten Tag
Ich möchte bei Drupal Commerce bei der Versandadresse
die Möglichkeit einbauen, das der User
seine Strasse oder seine Packetstationsnummer
eingeben kann.
Das ganze dann als Conditional Field,
also wenn er auf eine Checkbox klickt
soll das Feld Strasse in unsichtbar und das Feld Paketstation
sichtbar werden.
Das Problem ist, das das Adress Formular in Commerce ein
'Dynamisches Adressfeld' ist, und Conditional Fields da nicht eingreifen
kann. (In der Administration von CF steht:
Add at least two fields to enable dependencies.
Gibt es da einen Weg das per Konfiguration
zu lösen
oder muss ich da dann per
hook_form_alter ran?
vielen Dank vorab
stef
- Anmelden oder Registrieren um Kommentare zu schreiben
Moinsen, wenn der Shop
am 23.06.2013 - 19:41 Uhr
Moinsen,
wenn der Shop produktiv laufen soll, kannst du conditional_fields sowieso vergessen. Ich hab's vor kurzem mal getestet. Das Modul läuft mit D7 nicht stabil und produziert einige Fehler. Aber schreibt der Maintainer ja auch auf der Modulseite.
https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_process_states/7 hilft hier weiter.
Hier noch ein Link mit einem Beispiel: http://pastebin.com/2YPCyPYK
Zitat: Das ganze dann als
am 24.06.2013 - 17:40 Uhr
Das ganze dann als Conditional Field,
also wenn er auf eine Checkbox klickt
soll das Feld Strasse in unsichtbar und das Feld Paketstation
sichtbar werden.
Das müßte doch leicht mit der JQuery (onClick-event bei der Checkbox und über den Status der Checkbox wird die Sichtbarkeit der Eingabefelder gesteuert) zu lösen sein.
Da brauchst du noch nicht mal den hook_form_alter bemühen.
Gruß
Berthold
Drupal Video-Tutorials
hallo und guten abend danke
am 26.06.2013 - 14:28 Uhr
hallo und guten abend
danke für eure antwort!
@berthold
>Das müßte doch leicht mit der JQuery (onClick-event bei der Checkbox und über den Status der Checkbox wird die Sichtbarkeit der Eingabefelder gesteuert) zu >lösen sein.
das problem ist, war das feld strasse en pflichtfeld ist.
das konnte ich über hook_form_alter lösen.
<?php
function MYMODULE_form_commerce_checkout_form_checkout_alter(&$form, $form_state){
$form['customer_profile_billing']['commerce_customer_address'][LANGUAGE_NONE][0]['street_block']['thoroughfare']['#required'] = false;
}
?>
das dynamic adress field um das feld packstation
und einen radiobutton zu erweitern muss man ein plugin schreiben.
wie das geht sieht man im modul adressfield
dort gibt es einen example/plugins ordner
@ glycid
das mit den conditoinal field problemem kannt eich garnicht..
ich verwende die combi (commerce und cf) in einem anderen projekt
und da läuft alles gut..
besten gruss
stef