Làm cách nào để tôi tạo chủ đề cho giỏ hàng và trang thanh toán trong thương mại Drupal? Tôi đã đặt nội dung, tài khoản, thanh toán và các bộ phận thanh toán. Có tập tin -. Tpl.php nào để tạo không?
Làm cách nào để tôi tạo chủ đề cho giỏ hàng và trang thanh toán trong thương mại Drupal? Tôi đã đặt nội dung, tài khoản, thanh toán và các bộ phận thanh toán. Có tập tin -. Tpl.php nào để tạo không?
Câu trả lời:
Đối với trang giỏ hàng page--cart.tpl.php
theo chủ đề, hãy thêm vào thư mục mẫu của chủ đề.
Đối với trang thanh toán page--checkout.tpl.php
theo chủ đề, hãy thêm vào thư mục mẫu của chủ đề. Nếu bạn muốn chủ đề chỉ là trang xem lại kiểm tra thêm page--checkout--review.tpl.php
trong các mẫu thư mục.
Sau khi thêm tập tin tpl đừng quên xóa bộ nhớ cache.
Nếu bạn muốn biết về nhiều hook hơn hãy thực hiện một chức năng dpm($variables)
bên trong YOURTHEMENAME_preprocess_page
và nhìn vào theme_hook_suggestions
mảng.
Để biết chi tiết, hãy đọc bình luận này http://drupal.org/node/1142800#comment-5365466
Các tệp mẫu duy nhất trong Thương mại liên quan đến mô-đun thanh toán là Commerce-checkout-error-message.tpl.php và Commerce-checkout-help.tpl.php. Chúng được đặt trong thư mục mô-đun Thương mại theo mô-đun / thanh toán / chủ đề.
Tệp mẫu duy nhất liên quan đến mô-đun Giỏ hàng là Commerce-cart-block.tpl.php, được đặt trong thư mục mô-đun Thương mại theo mô-đun / giỏ hàng / chủ đề.
Trên thực tế, cách dễ nhất tôi nghĩ là sử dụng hook_form_FORM_ID_alter () để thay đổi hình thức thanh toán. Nếu tất cả những gì bạn cần chỉ là thay đổi phần bên trong mẫu thanh toán.
Như tôi thấy, hầu hết các nội dung trang đánh giá thanh toán và kiểm tra đều nằm trong biểu mẫu. Đầu tiên là ' Commerce_checkout_form_checkout ' và thứ hai là ' Commerce_checkout_form_Vview '. Nếu bạn biết cách sử dụng API biểu mẫu & cách thay đổi biểu mẫu bằng cách sử dụng hook_form_FORM_ID_alter (). Điều đó sẽ rất dễ dàng để thay đổi nội dung biểu mẫu. Giống như sắp xếp lại chúng hoặc chèn / loại bỏ các yếu tố.
Dưới đây là một ví dụ đơn giản để thêm thông báo vào trang thanh toán:
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 ...
}
Bạn đã thử mô-đun Theme Develper cung cấp cho bạn thông tin về việc móc nối chủ đề nào sẽ thực hiện và tập tin theo chủ đề nào.
Trang giỏ hàng chỉ là một chế độ xem, vì vậy hãy tạo kiểu cho nó như bất kỳ chế độ xem nào khác:
Chuyển đến trang khi bạn đăng nhập với tư cách quản trị viên, tìm và nhấp vào liên kết "Chỉnh sửa chế độ xem".
Trên trang chỉnh sửa xem, mở cài đặt xem "Nâng cao" và nhấp vào "Thông tin theo chủ đề"
Ở đó bạn có thể thấy cách bạn nên đặt tên cho các mẫu của mình (ví dụ: view-view - Commerce-cart-Tóm tắt - default.tpl.php) và cả nếu bạn ở tên mẫu ở đầu hàng (tức là đầu tiên là "Hiển thị đầu ra" bạn có thể xem mẫu mặc định, sao chép nó, lưu với tên khác trong thư mục mẫu của chủ đề và sửa đổi nó theo ý muốn).
Hoặc, bạn có thể tự xây dựng các trang đó (lượt xem). http: //www.drupalc Commerce.org/user-guide/modifying-shopping-cart-USE-view
Bạn có thể tạo các tệp .tpl của riêng mình và gọi chúng bằng hàm 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)
}
vì đây là các biểu mẫu, sau đó bạn có thể ẩn biểu mẫu, tìm những gì bạn cần và sử dụng đánh dấu của riêng bạn trong mẫu của bạn.
<?php
hide($form);
dpm($form);
?>
<div>
print render($form[...]);
</div>
Hoặc, bạn có thể để nó như vậy và làm những thứ xung quanh nó.