як я тематизую сторінки кошика та каси в Drupal commerce? Я встановив вміст, рахунок, рахунки та частини оплати. Чи є якийсь -. Tpl.php файл для створення?
як я тематизую сторінки кошика та каси в Drupal commerce? Я встановив вміст, рахунок, рахунки та частини оплати. Чи є якийсь -. Tpl.php файл для створення?
Відповіді:
Сторінку кошика для тематизації додайте 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
Єдині файли шаблонів у торгівлі, пов'язані з модулем оформлення замовлення, - це commerce-checkout-errors-message.tpl.php та commerce-checkout-help.tpl.php. Вони розміщені в каталозі модулів комерції під модулями / замовлення / тема.
Єдиний файл шаблону, пов'язаний з модулем Cart, - це commerce-cart-block.tpl.php, який знаходиться в каталозі модулів Commerce під модулями / кошик / тема.
Насправді найпростіший спосіб, на який я думаю, - це використовувати гачку_форма_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 ...
}
Ви спробували модуль розробки тематики, який дає вам інформацію про те, які теми гаків для програм та які файли шаблонів прийняти.
Сторінка кошика - це лише вид, тому стилізуйте її як будь-який інший вид:
Перейдіть на сторінку, коли ви ввійшли як адміністратор, знайдіть і натисніть посилання "Редагувати перегляд".
На сторінці редагування перегляду відкрийте "Додаткові" налаштування перегляду та натисніть "Інформація про тему"
Там ви можете побачити, як ви повинні називати свої шаблони (наприклад, перегляди-перегляд - commerce-cart-Summary - default.tpl.php), а також, якщо ви назви шаблону на початку рядка (тобто спочатку "Display output" ви можете побачити шаблон за замовчуванням, скопіювати його, зберегти з іншим ім’ям у режимі шаблону вашої теми та змінити його, як вам подобається).
Або ви можете створити ці сторінки (перегляди) самостійно. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
Ви можете створити власні .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>
Або ви можете залишити його таким, яким він є, і робити щось навколо.