тематизовані сторінки оформлення замовлення в Drupal commerce


15

як я тематизую сторінки кошика та каси в Drupal commerce? Я встановив вміст, рахунок, рахунки та частини оплати. Чи є якийсь -. Tpl.php файл для створення?


Якщо ви можете бути більш конкретними щодо того, які аспекти комерційної кошика та каси ви намагаєтеся змінити, і яким ви хочете бути вашим кінцевим результатом, це допоможе іншим у наданні вам кориснішої відповіді.
sheena_d

Справа з подібним питанням тут! Я сподівався використати kukform_alter (), щоб змінити розмітку. У кращому випадку я отримую поле "дані", яке вже відображається у вигляді таблиці. Можна сподіватися, що можна буде діяти на елементах форми, перш ніж вони будуть надані ... Ще шукаю ...
PatrickS

Відповіді:


13

Сторінку кошика для тематизації додайте page--cart.tpl.phpв каталог шаблонів теми.

Сторінку оформлення page--checkout.tpl.phpтему додайте в каталог шаблонів теми. Якщо ви хочете тематизувати лише сторінку огляду замовлення, додайте page--checkout--review.tpl.phpв каталог шаблонів.

Після додавання файлів tpl не забудьте очистити кеш.

Якщо ви хочете дізнатися про більше гачків, виконайте dpm($variables)внутрішню YOURTHEMENAME_preprocess_pageфункцію і загляньте в theme_hook_suggestionsмасив.

Детальніше читайте цей коментар http://drupal.org/node/1142800#comment-5365466


Це мені дуже допомогло, але оскільки це питання не моє, я можу дати лише один великий палець :)
RajeevK

7

Єдині файли шаблонів у торгівлі, пов'язані з модулем оформлення замовлення, - це commerce-checkout-errors-message.tpl.php та commerce-checkout-help.tpl.php. Вони розміщені в каталозі модулів комерції під модулями / замовлення / тема.

Єдиний файл шаблону, пов'язаний з модулем Cart, - це commerce-cart-block.tpl.php, який знаходиться в каталозі модулів Commerce під модулями / кошик / тема.


4

Насправді найпростіший спосіб, на який я думаю, - це використовувати гачку_форма_FORM_ID_alter () для зміни форми оформлення каси. Якщо все, що вам потрібно, це лише змінити частину всередині форми оформлення каси.

Як я бачу, більшість вмісту сторінки, що переглядає замовлення та оформлення замовлення, знаходиться у формі. По-перше, це " commerce_checkout_form_checkout ", а друге - " commerce_checkout_form_review ". Якщо ви знаєте, як використовувати API форми та як змінити форму за допомогою гачок_form_FORM_ID_alter (). Це буде дуже просто змінити зміст форми. Як і впорядкувати їх або вставити / видалити елементи.

Ось простий приклад додавання повідомлення на сторінку оформлення замовлення:

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

}

2

Ви також можете використовувати класи тіла (залежно від того, яку базову тему ви використовуєте, вони часто доступні). Це дозволяє надати конкретні значення дочірнім предметам тіла, наприклад, класом .checkout. Цього може бути досить, щоб трохи перемістити макет.



1

Сторінка кошика - це лише вид, тому стилізуйте її як будь-який інший вид:

  1. Перейдіть на сторінку, коли ви ввійшли як адміністратор, знайдіть і натисніть посилання "Редагувати перегляд".

  2. На сторінці редагування перегляду відкрийте "Додаткові" налаштування перегляду та натисніть "Інформація про тему"

  3. Там ви можете побачити, як ви повинні називати свої шаблони (наприклад, перегляди-перегляд - commerce-cart-Summary - default.tpl.php), а також, якщо ви назви шаблону на початку рядка (тобто спочатку "Display output" ви можете побачити шаблон за замовчуванням, скопіювати його, зберегти з іншим ім’ям у режимі шаблону вашої теми та змінити його, як вам подобається).

  4. Або ви можете створити ці сторінки (перегляди) самостійно. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views


1

Ви можете створити власні .tpl-файли та викликати їх за допомогою функції гак_теми:

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

оскільки це форми, ви можете приховати форму, знайти те, що вам потрібно, і використовувати власну розмітку у вашому шаблоні.

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

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

Або ви можете залишити його таким, яким він є, і робити щось навколо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.