Drupal ticaretindeki alışveriş sepeti ve ödeme sayfalarını nasıl temalarım? İçerik, hesap, faturalandırma ve ödeme bölümleri ayarladım. Oluşturulacak herhangi bir -. Tpl.php dosyası var mı?
Drupal ticaretindeki alışveriş sepeti ve ödeme sayfalarını nasıl temalarım? İçerik, hesap, faturalandırma ve ödeme bölümleri ayarladım. Oluşturulacak herhangi bir -. Tpl.php dosyası var mı?
Yanıtlar:
page--cart.tpl.php
Tema sepeti sayfası için temanızın şablonlar dizinine ekleyin .
page--checkout.tpl.php
Tema ödeme sayfası için temanızın şablonlar dizinine ekleyin . Yalnızca temayı incelemek istiyorsanız page--checkout--review.tpl.php
şablonlar dizinine ekleyin .
Tpl dosyaları ekledikten sonra önbelleği temizlemeyi unutmayın.
Daha fazla kanca hakkında bilmek istiyorsanız, bir dpm($variables)
iç YOURTHEMENAME_preprocess_page
işlev yapın ve theme_hook_suggestions
diziye bakın.
Ayrıntılar için bu yorumu okuyun http://drupal.org/node/1142800#comment-5365466
Ticaretteki ödeme modülüyle ilgili şablon dosyaları yalnızca trade-checkout-error-message.tpl.php ve commerce-checkout-help.tpl.php'dir. Bunlar Ticaret modülü dizininde modüller / checkout / theme altında bulunur.
Cart modülüyle ilgili tek şablon dosyası Commerce-cart-block.tpl.php'dir; ticaret modülü dizininde modüller / cart / theme altında bulunur.
Aslında en kolay yolu ödeme formunu değiştirmek için hook_form_FORM_ID_alter () kullanmaktır. İhtiyacınız olan tek şey yalnızca ödeme formunun içindeki bölümü değiştirmek.
Gördüğüm gibi, ödeme ve ödeme inceleme sayfası içeriğinin çoğu formun içindedir. Birincisi ' commerce_checkout_form_checkout ', ikincisi ' commerce_checkout_form_review '. Form API'sini nasıl kullanacağınızı ve hook_form_FORM_ID_alter () kullanarak formu nasıl değiştireceğinizi biliyorsanız. Form içeriğini değiştirmek çok kolay olacak. Bunları yeniden sıralamak veya eleman eklemek / kaldırmak gibi.
İşte basit bir örnek ödeme sayfasını içine bir uyarı eklemek için:
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 ...
}
Hangi temanın uygulanacağı ve hangi temaların benimseneceği hakkında bilgi veren Theme Develper modülünü denediniz mi?
Alışveriş sepeti sayfası yalnızca bir görünümdür, bu nedenle başka bir görünüm olarak stil verin:
Yönetici olarak oturum açtığınızda sayfaya gidin, "Görünümü düzenle" bağlantısını bulun ve tıklayın.
Görünüm düzenleme sayfasında "Gelişmiş" görünüm ayarlarını açın ve "Tema bilgileri" ni tıklayın
Burada, şablonlarınızı nasıl adlandırmanız gerektiğini (ör. Views-view - trade-cart-özet - default.tpl.php) ve satırın başındaki şablon adına bakarsanız (yani ilk olarak "Görüntü çıktısı" varsayılan şablonu görebilir, kopyalayabilir, temanızın şablon dizinine başka bir adla kaydedebilir ve istediğiniz gibi değiştirebilirsiniz).
Veya bu sayfaları (görünümleri) kendi başınıza oluşturabilirsiniz. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
Kendi .tpl dosyalarınızı oluşturabilir ve hook_theme işleviyle çağırabilirsiniz:
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)
}
bunlar formlar olduğundan, formu gizleyebilir, ihtiyacınız olanı bulabilir ve şablonunuzda kendi işaretlemenizi kullanabilirsiniz.
<?php
hide($form);
dpm($form);
?>
<div>
print render($form[...]);
</div>
Ya da olduğu gibi bırakabilir ve etrafında bir şeyler yapabilirsiniz.