人生初のバッテリーあがりを体験したYu-ichiです
さて、今回はZencartでサイドバーに表示している「メーカー」を
トップページのメインに導入できないかということで、カスタマイズに挑戦してみました。
おそらく「シングルボックス」を使えば簡単じゃん。
って思う方もいらっしゃるかと思いますが、その通りですw
ですが、余計なdivタグやらhタグを外して
メーカーのドロップダウンリストだけを使いたかったのです。
既存のファイルを直接編集してしまうと、サイドバーにも影響が出てしまう為に
必要なファイルをコピーし、リネームして使うことにしました。
まずコピーが必要なファイルは以下の通り
- /includes/templates/template_default/sideboxes/tpl_manufacturers_select.php
- /includes/modules/sideboxes/manufacturers.php
この2つをコピーしてリネームしてください。
必要であればテンプレート名のフォルダを作成し、その中に格納します。
(私は管理しやすいように以下の通りやっています)
- /includes/templates/template_default/sideboxes/テンプレ/tpl_main_manufacturers_select.php
- /includes/modules/sideboxes/テンプレ/main_manufacturers.php
それぞれの中身も書き換えてください。(divタグとかいらないので。。。)
【tpl_main_manufacturers_select.php】
11,12,16行目を削除して、14行目の「 style=”width: 90%; margin: auto;”」を削除
【main_manufacturers.php】
59行目の「tpl_manufacturers_select.php」を「tpl_main_manufacturers_select.php」に書換え
書き換えたらいよいよ呼出し部です。
「/includes/templates/テンプレ/common/」の中におまじないのファイルを用意します。
ファイル名はなんでもOKですが、仮に「tpl_box_main_manufacturers.php」とします。
中身は以下の一行だけでOKです。
</p> <p><?php echo $content; ?></p> <p>
【tpl_index_default.php】を編集して、メインのメーカーリストを表示したい個所に以下の記述を入れます。
</p> <p><?php<br /> if (!defined('IS_ADMIN_FLAG')) {<br /> die('Illegal Access');<br /> }<br /> // Check if there are boxes for the column<br /> $column_box_default='tpl_box_main_manufacturers.php';<br /> $column_single_display= $db->Execute("select layout_box_name from " . TABLE_LAYOUT_BOXES . " where (layout_box_location=0 or layout_box_location=1) and layout_box_status_single=1 and layout_template ='" . $template_dir . "'" . ' order by LPAD(layout_box_sort_order_single,11,"0")');<br /> //メインにメーカーを呼び出す<br /> require(DIR_WS_MODULES . 'sideboxes/' . $template_dir . '/main_manufacturers.php');<br /> ?></p> <p>
これでトップページのメイン部分の指定した場所に
メーカーのドロップダウンリストが表示されるようになります。
ちなみに、シングルボックスを使うときはもっと単純で
</p> <p><?php require(DIR_WS_MODULES . 'column_single.php'); ?></p> <p>
この記述をコピペしてあげるだけでできます。
ただ、シングルボックスがONになっているものが全て表示されてしまうので
個別に表示したいまたは、間に何かを挟みたいという場合はカスタマイズが必要です。