it-swarm.com.de

Theming Checkout-Seiten in Drupal Commerce

wie thematisiere ich die Warenkorb- und Checkout-Seiten in Drupal Commerce? Ich habe Inhalt, Konto, Abrechnung und Zahlungsteile festgelegt. Gibt es eine -. tpl.php-Datei zum Erstellen?

15
Badri

Fügen Sie für die Themenkorbseite page--cart.tpl.php In das Vorlagenverzeichnis Ihres Themas ein.

Fügen Sie für die Theming-Checkout-Seite page--checkout.tpl.php In das Vorlagenverzeichnis Ihres Themas ein. Wenn Sie nur die Checkout-Überprüfungsseite thematisieren möchten, fügen 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) innerhalb der 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

13
subhojit777

Die einzigen Vorlagendateien in Commerce, die sich auf das Checkout-Modul beziehen, sind Commerce-Checkout-Fehler-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, die sich im Commerce-Modulverzeichnis unter modules/cart/theme befindet.

7
sheena_d

Der einfachste Weg, den ich denke, ist hook_form_FORM_ID_alter () , um das Checkout-Formular zu ändern. Wenn Sie nur das Teil im Checkout-Formular ändern müssen.

Wie ich sehe, befindet sich der größte Teil des Inhalts der Checkout- und Checkout-Überprüfungsseite im Formular. Erstens ist ' Commerce_checkout_form_checkout ' und zweitens ist ' 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. Zum Beispiel neu anordnen oder Elemente einfügen/entfernen.

Hier ist ein einfaches Beispiel zum 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 ...

}
4
Tim Yao

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.

2
Alex C

Haben Sie das Modul Theme Developer ausprobiert, das Ihnen Informationen darüber gibt, welche Theme-Hooks implementiert werden sollen und welche Vorlagendateien übernommen werden sollen.

1
gilzero

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, das finden, was Sie benötigen, und Ihr 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 Dinge darum herum tun.

1
mlaroy

Die Warenkorbseite ist nur eine Ansicht. Gestalten Sie sie daher wie jede andere Ansicht:

  1. Gehen Sie zur Seite, wenn Sie als Administrator angemeldet sind, suchen Sie den Link "Ansicht bearbeiten" und klicken Sie darauf.

  2. Öffnen Sie auf der Ansichtsbearbeitungsseite die Ansichtseinstellungen "Erweitert" und klicken Sie auf "Themeninformationen".

  3. Dort können Sie sehen, wie Sie Ihre Vorlagen benennen sollen (dh Ansichten-Ansicht - Commerce-Cart-Zusammenfassung - default.tpl.php) und auch, wenn Sie am Vorlagennamen am Anfang der Zeile stehen (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.

  4. Sie können diese Seiten (Ansichten) auch selbst erstellen. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views

1
user2870349