web-dev-qa-db-ja.com

Drupalコマースでのチェックアウトページのテーマ設定

Drupalコマースのカートとチェックアウトページにテーマを設定する方法を教えてください。コンテンツ、アカウント、請求、支払いの部分を設定しました。作成する-。tpl.phpファイルはありますか?

15
Badri

カートのテーマページの場合は、テーマのテンプレートディレクトリに_page--cart.tpl.php_を追加します。

テーマのチェックアウトページの場合は、テーマのテンプレートディレクトリに_page--checkout.tpl.php_を追加します。チェックアウトレビューページのみをテーマにする場合は、テンプレートディレクトリに_page--checkout--review.tpl.php_を追加します。

TPLファイルを追加した後、キャッシュをクリアすることを忘れないでください。

さらにフックについて知りたい場合は、_YOURTHEMENAME_preprocess_page_関数内でdpm($variables)を実行し、_theme_hook_suggestions_配列を調べます。

詳細については、このコメントを読んでください http://drupal.org/node/1142800#comment-5365466

13
subhojit777

チェックアウトモジュールに関連するCommerceのテンプレートファイルは、commerce-checkout-errors-message.tpl.phpとcommerce-checkout-help.tpl.phpのみです。これらは、modules/checkout/themeの下のCommerceモジュールディレクトリにあります。

Cartモジュールに関連する唯一のテンプレートファイルは、commerce-cart-block.tpl.phpです。これは、modules/cart/themeの下のCommerceモジュールディレクトリにあります。

7
sheena_d

実際、私が考える最も簡単な方法は hook_form_FORM_ID_alter() を使用してチェックアウトフォームを変更することです。必要なのは、チェックアウトフォーム内のパーツを変更することだけです。

ご覧のとおり、チェックアウトとチェックアウトのレビューページのコンテンツのほとんどはフォーム内にあります。最初は「commerce_checkout_form_checkout」、2番目は「commerce_checkout_form_review」です。フォームAPIの使用方法と、hook_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 ...

}
4
Tim Yao

ボディクラスを使用することもできます(使用するベーステーマに応じて、これらはよく使用されます)。これにより、たとえば、クラス.checkoutを使用して、本文の子アイテムに特定の値を指定できます。これはレイアウトを少しジグするのに十分かもしれません。

2
Alex C

試してみましたか テーマ開発者 モジュールは、実装するテーマフックと採用するテンプレートファイルに関する情報を提供します。

1
gilzero

独自の.tplファイルを作成し、それらを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)
}

これらはフォームなので、フォームを非表示にして必要なものを見つけ、テンプレートで独自のマークアップを使用できます。

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

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

または、それをそのままにして、周りで何かをすることもできます。

1
mlaroy

カートページは単なるビューなので、他のビューと同様にスタイルを設定します。

  1. 管理者としてログインしているときにページに移動し、「ビューの編集」リンクを見つけてクリックします。

  2. ビュー編集ページで「詳細」ビュー設定を開き、「テーマ情報」をクリックします

  3. そこで、テンプレートに名前を付ける方法(つまり、views-view--commerce-cart-summary--default.tpl.php)と、行の先頭にあるテンプレート名(つまり、最初は「表示出力」)を確認できます。デフォルトのテンプレートを確認してコピーし、テーマのテンプレートディレクトリに別の名前で保存して、好きなように変更できます)。

  4. または、それらのページ(ビュー)を自分で構築することもできます。 http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views

1
user2870349