Wie gestalte ich die Warenkorb- und Checkout-Seiten in Drupal Commerce? Ich habe Inhalts-, Konto-, Abrechnungs- und Zahlungsteile festgelegt. Gibt es eine - .tpl.php-Datei zu erstellen?
Wenn Sie genauer wissen möchten, welche Aspekte des Commerce-Einkaufswagens und der Kaufabwicklung Sie ändern möchten und was Sie als Endergebnis wünschen, hilft dies anderen, eine hilfreichere Antwort für Sie zu finden.
sheena_d
Behandlung eines ähnlichen Problems hier! Ich hatte gehofft, hook_form_alter () zu verwenden, um das Markup zu ändern. Bestenfalls bekomme ich ein "Daten" -Feld, das bereits als Tabelle gerendert ist. Man würde hoffen, dass es möglich ist, auf die Formularelemente zu reagieren, bevor sie gerendert werden ... Noch auf der Suche ...
PatrickS
Antworten:
14
Fügen Sie für die Themen-Warenkorbseite page--cart.tpl.phpdas Vorlagenverzeichnis Ihres Themas hinzu.
Zur page--checkout.tpl.phpThemenkasse im Vorlagenverzeichnis Ihres Themas hinzufügen . Wenn Sie nur die Seite zur Überprüfung der Kaufabwicklung thematisieren möchten, fügen Sie sie page--checkout--review.tpl.phpim Vorlagenverzeichnis hinzu.
Vergessen Sie nach dem Hinzufügen von tpl-Dateien nicht, den Cache zu leeren.
Wenn Sie mehr über Hooks erfahren möchten, führen Sie eine dpm($variables)Inside- YOURTHEMENAME_preprocess_pageFunktion aus und sehen Sie sich das theme_hook_suggestionsArray an.
Das hat mir sehr geholfen, aber da diese Frage nicht meine ist, kann ich nur einen Daumen hoch lassen :)
RajeevK
8
Die einzigen Vorlagendateien in Commerce, die sich auf das Checkout-Modul beziehen, sind commerce-checkout-errors-message.tpl.php und commerce-checkout-help.tpl.php. Diese befinden sich im Commerce-Modulverzeichnis unter modules / checkout / theme.
Die einzige Vorlagendatei, die sich auf das Cart-Modul bezieht, ist commerce-cart-block.tpl.php. Sie befindet sich im Commerce-Modulverzeichnis unter modules / cart / theme.
Eigentlich ist es meiner Meinung nach am einfachsten, hook_form_FORM_ID_alter () zu verwenden, um das Checkout-Formular zu ändern. Wenn Sie nur das Teil im Bestellformular ändern müssen.
Wie ich sehe, befindet sich der größte Teil des Inhalts der Checkout- und Checkout-Überprüfungsseite innerhalb des Formulars. Der erste lautet " commerce_checkout_form_checkout " und der zweite " commerce_checkout_form_review ". Wenn Sie wissen, wie Sie die Formular-API verwenden und wie Sie das Formular mithilfe von hook_form_FORM_ID_alter () ändern. Das wird sehr einfach sein, den Formularinhalt zu ändern. Gerne können Sie diese neu anordnen oder Elemente einfügen / entfernen.
Hier ist ein einfaches Beispiel für das Hinzufügen eines Hinweises zur Checkout-Seite:
function my_module_form_commerce_checkout_form_alter(&$form,&$form_state, $form_id){//If you have Devel module, uncomment to see what is the original form data//kpr($form);//uncomment to see current form_id//echo $form_id;//check form idif($form_id =='commerce_checkout_form'){
$form['my_test_notice']= array('#markup'=>'<h1>Hello, this is a checkout test!</h1>','#weight'=>-1,);}
elseif($form_id =='commerce_checkout_form_review'){
$form['my_test_notice']= array('#markup'=>'<h1>Hello, this is a checkout review test!</h1>','#weight'=>-1,);}//You can add more ...}
Sie können auch die Body-Klassen verwenden (je nachdem, welches Basisthema Sie verwenden, sind diese häufig verfügbar). Auf diese Weise können Sie beispielsweise untergeordneten Elementen des Körpers mit der Klasse .checkout bestimmte Werte zuweisen. Dies könnte ausreichen, um das Layout ein wenig zu verändern.
Haben Sie das Theme Develper- Modul ausprobiert, mit dem Sie Informationen darüber erhalten, welche Theme-Hooks implementiert und welche Platten-Dateien übernommen werden sollen?
Die Warenkorbseite ist nur eine Ansicht. Gestalten Sie sie wie jede andere Ansicht:
Gehen Sie zur Seite, wenn Sie als Administrator angemeldet sind, und klicken Sie auf den Link "Ansicht bearbeiten".
Öffnen Sie auf der Seite zum Bearbeiten der Ansicht die Ansichtseinstellungen "Erweitert" und klicken Sie auf "Informationen zum Design".
Dort können Sie sehen, wie Sie Ihre Vorlagen benennen sollen (dh Ansichten-Ansicht - Commerce-Cart-Zusammenfassung - default.tpl.php) und auch, ob Sie am Anfang der Zeile den Vorlagennamen haben (dh zuerst "Ausgabe anzeigen"). Sie können die Standardvorlage anzeigen, kopieren, unter einem anderen Namen im Vorlagenverzeichnis Ihres Themas speichern und nach Ihren Wünschen ändern.
Da es sich um Formulare handelt, können Sie das Formular ausblenden, die gewünschten Elemente finden und ein eigenes Markup in Ihrer Vorlage verwenden.
Antworten:
Fügen Sie für die Themen-Warenkorbseite
page--cart.tpl.php
das Vorlagenverzeichnis Ihres Themas hinzu.Zur
page--checkout.tpl.php
Themenkasse im Vorlagenverzeichnis Ihres Themas hinzufügen . Wenn Sie nur die Seite zur Überprüfung der Kaufabwicklung thematisieren möchten, fügen Sie siepage--checkout--review.tpl.php
im Vorlagenverzeichnis hinzu.Vergessen Sie nach dem Hinzufügen von tpl-Dateien nicht, den Cache zu leeren.
Wenn Sie mehr über Hooks erfahren möchten, führen Sie eine
dpm($variables)
Inside-YOURTHEMENAME_preprocess_page
Funktion aus und sehen Sie sich dastheme_hook_suggestions
Array an.Für Details lesen Sie diesen Kommentar http://drupal.org/node/1142800#comment-5365466
quelle
Die einzigen Vorlagendateien in Commerce, die sich auf das Checkout-Modul beziehen, sind commerce-checkout-errors-message.tpl.php und commerce-checkout-help.tpl.php. Diese befinden sich im Commerce-Modulverzeichnis unter modules / checkout / theme.
Die einzige Vorlagendatei, die sich auf das Cart-Modul bezieht, ist commerce-cart-block.tpl.php. Sie befindet sich im Commerce-Modulverzeichnis unter modules / cart / theme.
quelle
Eigentlich ist es meiner Meinung nach am einfachsten, hook_form_FORM_ID_alter () zu verwenden, um das Checkout-Formular zu ändern. Wenn Sie nur das Teil im Bestellformular ändern müssen.
Wie ich sehe, befindet sich der größte Teil des Inhalts der Checkout- und Checkout-Überprüfungsseite innerhalb des Formulars. Der erste lautet " commerce_checkout_form_checkout " und der zweite " commerce_checkout_form_review ". Wenn Sie wissen, wie Sie die Formular-API verwenden und wie Sie das Formular mithilfe von hook_form_FORM_ID_alter () ändern. Das wird sehr einfach sein, den Formularinhalt zu ändern. Gerne können Sie diese neu anordnen oder Elemente einfügen / entfernen.
Hier ist ein einfaches Beispiel für das Hinzufügen eines Hinweises zur Checkout-Seite:
quelle
Sie können auch die Body-Klassen verwenden (je nachdem, welches Basisthema Sie verwenden, sind diese häufig verfügbar). Auf diese Weise können Sie beispielsweise untergeordneten Elementen des Körpers mit der Klasse .checkout bestimmte Werte zuweisen. Dies könnte ausreichen, um das Layout ein wenig zu verändern.
quelle
Haben Sie das Theme Develper- Modul ausprobiert, mit dem Sie Informationen darüber erhalten, welche Theme-Hooks implementiert und welche Platten-Dateien übernommen werden sollen?
quelle
Die Warenkorbseite ist nur eine Ansicht. Gestalten Sie sie wie jede andere Ansicht:
Gehen Sie zur Seite, wenn Sie als Administrator angemeldet sind, und klicken Sie auf den Link "Ansicht bearbeiten".
Öffnen Sie auf der Seite zum Bearbeiten der Ansicht die Ansichtseinstellungen "Erweitert" und klicken Sie auf "Informationen zum Design".
Dort können Sie sehen, wie Sie Ihre Vorlagen benennen sollen (dh Ansichten-Ansicht - Commerce-Cart-Zusammenfassung - default.tpl.php) und auch, ob Sie am Anfang der Zeile den Vorlagennamen haben (dh zuerst "Ausgabe anzeigen"). Sie können die Standardvorlage anzeigen, kopieren, unter einem anderen Namen im Vorlagenverzeichnis Ihres Themas speichern und nach Ihren Wünschen ändern.
Sie können diese Seiten (Ansichten) auch selbst erstellen. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
quelle
Sie können Ihre eigenen .tpl-Dateien erstellen und diese mit einer hook_theme-Funktion aufrufen:
Da es sich um Formulare handelt, können Sie das Formular ausblenden, die gewünschten Elemente finden und ein eigenes Markup in Ihrer Vorlage verwenden.
Oder Sie können es so lassen, wie es ist, und etwas dagegen tun.
quelle