Drupal Commerce'de tema ödeme sayfaları


15

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ı?


Commerce cart ve checkout'un hangi yönlerini değiştirmeye çalıştığınız ve sonuçlarınızın ne olmasını istediğiniz konusunda daha spesifik olabilirseniz, başkalarının size daha yararlı bir cevap vermesine yardımcı olacaktır.
sheena_d

Burada benzer bir sorunla uğraşmak! İşaretlemeyi değiştirmek için hook_form_alter () kullanmayı umuyordum. En iyi ihtimalle, zaten tablo olarak işlenmiş bir "veri" alanı alıyorum. Biri, form öğelerine
işlenmeden

Yanıtlar:


13

page--cart.tpl.phpTema sepeti sayfası için temanızın şablonlar dizinine ekleyin .

page--checkout.tpl.phpTema ö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)YOURTHEMENAME_preprocess_pageişlev yapın ve theme_hook_suggestionsdiziye bakın.

Ayrıntılar için bu yorumu okuyun http://drupal.org/node/1142800#comment-5365466


Bu bana çok yardımcı oldu ama bu soru benim olmadığım için sadece bir başparmak verebilirim :)
RajeevK

7

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.


4

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

}

2

Gövde sınıflarını da kullanabilirsiniz (hangi temayı kullandığınıza bağlı olarak, bunlar genellikle mevcuttur). Bu, örneğin .checkout sınıfı olan gövdenin alt öğelerine belirli değerler vermenizi sağlar. Bu, düzeni biraz jig yapmak için yeterli olabilir.


1

Hangi temanın uygulanacağı ve hangi temaların benimseneceği hakkında bilgi veren Theme Develper modülünü denediniz mi?


1

Alışveriş sepeti sayfası yalnızca bir görünümdür, bu nedenle başka bir görünüm olarak stil verin:

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

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

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

  4. Veya bu sayfaları (görünümleri) kendi başınıza oluşturabilirsiniz. http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views


1

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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.