tematyczne strony kasy w handlu Drupal

15

jak utworzyć motyw strony koszyka i kasy w sklepie Drupal? Mam ustawione części treści, konta, rozliczeń i płatności. Czy istnieje plik -. Tpl.php do utworzenia?

Badri
źródło
Jeśli możesz sprecyzować, które aspekty koszyka i kasy próbujesz zmienić i jaki ma być twój efekt końcowy, pomoże to innym w udzieleniu bardziej pomocnej odpowiedzi.
sheena_d
Radzenie sobie z podobnym problemem tutaj! Miałem nadzieję użyć hook_form_alter () w celu zmodyfikowania znaczników. W najlepszym wypadku otrzymuję pole „dane”, które jest już renderowane jako tabela. Można by mieć nadzieję, że będzie możliwe działanie na elementach formularza, zanim zostaną one zrenderowane ... Nadal szukam ...
PatrickS

Odpowiedzi:

13

Dla strony koszyka tematycznego dodaj page--cart.tpl.phpdo katalogu szablonów motywu.

Aby uzyskać tematyczną stronę kasy, dodaj page--checkout.tpl.phpdo katalogu szablonów motywu. Jeśli chcesz motywować tylko stronę z recenzją kasy, dodaj page--checkout--review.tpl.phpdo katalogu szablonów.

Po dodaniu plików tpl nie zapomnij wyczyścić pamięci podręcznej.

Jeśli chcesz wiedzieć o większej liczbie haków, wykonaj funkcję dpm($variables)wewnętrzną YOURTHEMENAME_preprocess_pagei zajrzyj do theme_hook_suggestionstablicy.

Aby uzyskać szczegółowe informacje, przeczytaj ten komentarz http://drupal.org/node/1142800#comment-5365466

subhojit777
źródło
Bardzo mi to pomogło, ale ponieważ to pytanie nie jest moje, mogę podnieść tylko jedno kciuki do góry :)
RajeevK
7

Jedyne pliki szablonów w Commerce związane z modułem kasy to commerce-checkout-error-message.tpl.php i commerce-checkout-help.tpl.php. Znajdują się one w katalogu modułów Commerce w module / kasy / motyw.

Jedyny plik szablonu związany z modułem Cart to commerce-cart-block.tpl.php, który znajduje się w katalogu modułów Commerce w module / cart / theme.

sheena_d
źródło
4

Właściwie najłatwiejszym sposobem jest użycie hook_form_FORM_ID_alter () do zmiany formularza płatności . Jeśli potrzebujesz tylko zmienić część w formularzu zamówienia.

Jak widzę, większość zawartości strony z kasą i recenzją kasy znajduje się w formularzu. Pierwszy to „ commerce_checkout_form_checkout ”, a drugi to „ commerce_checkout_form_review ”. Jeśli wiesz, jak korzystać z interfejsu API formularza i jak go zmienić, używając hook_form_FORM_ID_alter (). Bardzo łatwo będzie zmienić treść formularza. Jak zmienić ich kolejność lub wstawić / usunąć elementy.

Oto prosty przykład dodania powiadomienia na stronie kasy:

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 ...

}
Tim Yao
źródło
2

Możesz także użyć klas ciała (w zależności od używanego motywu podstawowego, są one często dostępne). Pozwala to na przykład nadać określone wartości elementom potomnym ciała za pomocą klasy .checkout. Może to wystarczyć, aby nieco rozłożyć układ.

Alex C.
źródło
1

Czy wypróbowałeś już moduł Theme Develper , który zawiera informacje o tym, które zaczepy motywu mają zostać zaimplementowane, a które pliki szablonów do przyjęcia.

gilzero
źródło
1

Strona koszyka jest tylko widokiem, więc nadaj jej styl jak każdy inny widok:

  1. Po zalogowaniu się jako administrator przejdź do strony, znajdź i kliknij link „Edytuj widok”.

  2. Na stronie edycji widoku otwórz ustawienia widoku „Zaawansowane” i kliknij „Informacje tematyczne”

  3. Tam możesz zobaczyć, jak powinieneś nazwać swoje szablony (tj. Views-view - commerce-cart-summary - default.tpl.php), a także, jeśli masz nazwę szablonu na początku wiersza (tzn. Pierwszy to „Wyświetl dane wyjściowe” możesz zobaczyć domyślny szablon, skopiować go, zapisać z inną nazwą w katalogu szablonu motywu i zmodyfikować go, jak chcesz).

  4. Możesz też samodzielnie zbudować te strony (wyświetlenia). http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views

użytkownik 2870349
źródło
1

Możesz tworzyć własne pliki .tpl i wywoływać je za pomocą funkcji hook_theme:

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)
}

ponieważ są to formularze, możesz ukryć formularz, znaleźć to, czego potrzebujesz, i użyć własnego znacznika w szablonie.

<?php
  hide($form);
  dpm($form);
?>

<div>
  print render($form[...]);
</div>

Możesz też zostawić go takim, jakim jest, i robić wokół niego różne rzeczy.

mlaroy
źródło