Ergebnis 1 bis 7 von 7

Thema: **Gelöst** Checkout - Adressen in Drop Down Liste anstatt Radio -Auswahl

  1. #1
    Contao-Nutzer
    Registriert seit
    26.12.2010.
    Beiträge
    39

    HTML **Gelöst** Checkout - Adressen in Drop Down Liste anstatt Radio -Auswahl

    Hallo,

    ich möchte die Adressen in eine Drop Down Liste einfügen.
    Was soweit auch funktioniert, indem ich in der ModuleIsotopeCheckout.php in Zeile 1074 folgendes geändert habe.

    PHP-Code:
    $strClass $GLOBALS['TL_FFL']['select']; 
    Jedoch gibt es noch folgendes Problem:
    Die Adressdaten werden mir ohne Leerzeichen dazwischen angezeigt und wenn ich auf Neue Adresse anlegen gehe, dann erscheint das Formular nicht.

    Wie kann man das lösen?

    Liebe Grüße
    mrx02de
    Geändert von mrx02de (07.01.2011 um 09:04 Uhr)

  2. #2
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn ich mich richtig erinnere, kann in einem Select-Menü kein mehrzeiliger Eintrag stehen?
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  3. #3
    Contao-Nutzer
    Registriert seit
    26.12.2010.
    Beiträge
    39

    Standard

    Hallo Andreas,

    OK, im Anhang ein Bild und nen Code vom Firebug, wie es soweit ausschaut.
    Die hinterlegten Adressen werden ohne weiteres bis zum Schluß übernommen.
    Nur wenn ich eine Neue Adresse anlegen möchte werden die Formulare nicht sichtbar geschaltet. In der Tat fehlen die Leerstellen genau an der Stelle an den umgebrochen wird.

    Liebe Grüße
    mrx02de
    Angehängte Grafiken Angehängte Grafiken

  4. #4
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Um den Leerschlag zu erhalten müsstest du entweder die Datei system/modules/isotope/languages/en/countries.php anpassen, oder vor dem übernehmen der Adresse ein str_replace('<br />', ', ', $strAddress) machen.

    Zur Auswahländerung, da funktioniert wohl der Javascript-Event nicht. Schau doch mal an wie das gemacht ist, kann mich gerade nicht mehr erinnern ;-)
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  5. #5
    Contao-Nutzer
    Registriert seit
    26.12.2010.
    Beiträge
    39

    Standard

    Hallo Andreas,

    Danke für den Tipp.
    Wenn man die Datei system/modules/isotope/languages/en/countries.php anpasst, dann Funktioniert es, jedoch werden am Ende bei der Zusammenfassung, die Adressen ebenfalls ohne Umbruch dargestellt, somit ist das nicht der beste Weg.

    Wo müsste das str_replace('<br />', ', ', $strAddress) in der ModuleIsotopeCheckout.php eingefügt werden? Lässt sich das nicht irgendwie in diesem Codeabschnitt lösen?

    PHP-Code:
        protected function generateAddressWidget($field)
        {
            
    $strBuffer '';
            
    $objAddress = array();
            
    $arrOptions = array();
            
    $arrCountries = ($field == 'billing_address' $this->Isotope->Config->billing_countries $this->Isotope->Config->shipping_countries);
            
            if (
    FE_USER_LOGGED_IN)
            {
                
            
    $objAddress $this->Database->prepare("SELECT * FROM tl_iso_addresses WHERE pid=? ORDER BY isDefaultBilling DESC, isDefaultShipping DESC")->execute($this->User->id);
            
                while( 
    $objAddress->next() )
                {
                    if (!
    in_array($objAddress->country$arrCountries))
                        continue;
                        
                    
    $arrOptions[] = array
                    (
                        
    'value'        => $objAddress->id,
                        
    'label'        => $this->Isotope->generateAddressString($objAddress->row(), ($field == 'billing_address' ?  $this->Isotope->Config->billing_fields $this->Isotope->Config->shipping_fields)), 
                    );
                }
            }
            
            switch(
    $field)
            {
                case 
    'shipping_address':
                    
    $arrAddress $_SESSION['CHECKOUT_DATA'][$field] ? $_SESSION['CHECKOUT_DATA'][$field] : $this->Isotope->Cart->shippingAddress;                
                    
    $intDefaultValue strlen($arrAddress['id']) ? $arrAddress['id'] : -1;

                    
    array_insert($arrOptions0, array(array
                    (
                        
    'value'    => -1,
                        
    'label' => &$GLOBALS['TL_LANG']['MSC']['useBillingAddress'],
                    )));
                    
                    
    $arrOptions[] = array
                    (
                        
    'value'    => 0,
                        
    'label' => &$GLOBALS['TL_LANG']['MSC']['differentShippingAddress'],
                    );
                    break;
                    
                case 
    'billing_address':
                default:
                    
    $arrAddress $_SESSION['CHECKOUT_DATA'][$field] ? $_SESSION['CHECKOUT_DATA'][$field] : $this->Isotope->Cart->billingAddress;
                    
    $intDefaultValue strlen($arrAddress['id']) ? $arrAddress['id'] : 0;
                    
                    if (
    FE_USER_LOGGED_IN)
                    {
                        
    $arrOptions[] = array
                        (
                            
    'value'    => 0,
                            
    'label' => &$GLOBALS['TL_LANG']['MSC']['createNewAddressLabel'],
                        );
                    }
                    break;
            } 
    Geändert von mrx02de (07.01.2011 um 07:22 Uhr)

  6. #6
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Frage ist ob die Adressen mit <br /> im Quelltext stehe und einfach nicht angezeigt werden? Sonst wirds nämlich schwer...
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  7. #7
    Contao-Nutzer
    Registriert seit
    26.12.2010.
    Beiträge
    39

    Standard

    Hallo Andreas,

    der Mensch denkt zu kompliziert...
    Es funktioniert jetzt soweit alles.

    Folgendes habe ich gemacht.

    In der isotope.js habe ich am Anfang des Codes die erste if-Bedingung geändert:
    Code:
    var Isotope={toggleAddressFields:function(a,b) { if(a.value=="0")
    Somit funktioniert jetzt auch die Auswahländerung für Neue Adressen und die jeweiligen Formulare für billing- und shipping Adressen werden angezeigt.

    Das mit dem Leerschlag habe ich wie folgt gelöst.
    Ich habe die <br /> in der countries.php belassen und folgendes in der iso_checkout_shipping_address.tpl und iso_checkout_billing_address.tpl geändert:

    PHP-Code:
    <!-- Die Ausgabe des Strings ist bei beiden Dateien gleich -->

    <?php echo $this->fields?>

    <!-- Dies wurde in der iso_checkout_billing_address.tpl wie folgt geändert-->

    <?php $billadress str_replace('<br />'' '$this->fields); echo $billadress ?>

    <!-- und in der iso_checkout_shipping_address.tpl...-->

    <?php $shipadress str_replace('<br />'' '$this->fields); echo $shipadress ?>
    Jetzt sind die <br /> tags durch ein Leerzeichen ersetzt.

    Warum kompliziert, wenn es auch einfach geht.
    Ich danke Dir für deine Tipps und Denkanstöße.

    LG
    mrx02de
    Geändert von mrx02de (08.01.2011 um 07:59 Uhr) Grund: Änderung bzgl. str_replace

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 24.10.2014, 16:48
  2. Auswahl von Radio-Button fehlt in Formulardaten
    Von BerndDaniel im Forum Formulare
    Antworten: 1
    Letzter Beitrag: 08.01.2011, 16:19
  3. Antworten: 2
    Letzter Beitrag: 26.09.2010, 20:50
  4. [gelöst] Backend Benutzer als Liste im Frontend ausgeben?
    Von dieselboy im Forum Benutzer/-gruppen
    Antworten: 3
    Letzter Beitrag: 15.01.2010, 18:16

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •