Drupalコマースでカートとチェックアウトページのテーマを設定するにはどうすればよいですか?コンテンツ、アカウント、請求、支払いの各パーツを設定しました。作成する-。tpl.phpファイルはありますか?
Drupalコマースでカートとチェックアウトページのテーマを設定するにはどうすればよいですか?コンテンツ、アカウント、請求、支払いの各パーツを設定しました。作成する-。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
実際、私が考える最も簡単な方法は、hook_form_FORM_ID_alter()を使用してチェックアウトフォームを変更することです。必要なのは、チェックアウトフォーム内のパーツを変更するだけです。
ご覧のとおり、チェックアウトとチェックアウトのレビューページのコンテンツのほとんどはフォーム内にあります。1つ目は「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 ...
}どのテーマフックを実装し、どのテンプレートファイルを採用するかについての情報を提供するTheme Develperモジュールを試しましたか。
カートページは単なるビューなので、他のビューと同じようにスタイルを設定します。
管理者としてログインしているときにページに移動し、[ビューの編集]リンクを見つけてクリックします。
ビュー編集ページで「詳細」ビュー設定を開き、「テーマ情報」をクリックします
ここで、テンプレートに名前を付ける方法(つまり、views-view--commerce-cart-summary--default.tpl.php)を確認できます。また、テンプレート名が行の先頭にある場合(つまり、最初は「出力を表示する」デフォルトのテンプレートを表示し、コピーし、テーマのテンプレートdirに別の名前で保存して、必要に応じて変更できます。
または、それらのページ(ビュー)を自分で作成することもできます。http://www.drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
独自の.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>または、それをそのままにして、その周りで何かをすることができます。