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?
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?
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 sie page--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 das theme_hook_suggestions
Array an.
Für Details lesen Sie diesen Kommentar http://drupal.org/node/1142800#comment-5365466
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 id
if($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.
Sie können diese Seiten (Ansichten) auch selbst erstellen. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
Sie können Ihre eigenen .tpl-Dateien erstellen und diese mit einer hook_theme-Funktion aufrufen:
function yourtheme_theme(&$existing, $type, $theme, $path) {
return array(
'commerce_cart_add_to_cart_form'=> array(
'render element' => 'form',
'template' => 'path/to/template/commerce_cart_add_to_cart_form',
),
'commerce_checkout_form_review'=> array(
'render element' => 'form',
'template' => 'path/to/template/commerce_checkout_form_review',
),
...
...(more templates)
}
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.
<?php
hide($form);
dpm($form);
?>
<div>
print render($form[...]);
</div>
Oder Sie können es so lassen, wie es ist, und etwas dagegen tun.