テンプレートモンスターのZen-Cart用テンプレート(#24654)をZen-Cart日本語版(v1.3.0.2-l10n-jp-6)にインストールしました。
Zen-Cart1.3.8 英語版用なので、若干カスタマイズが必要でした。
テンプレートモンスターのZen-Cart用テンプレートのインストール方法
readme.txtに従ってインストールします。
そのままショップ画面をアクセスすると、以下のエラーが表示されますのでその対応を行います。
1.Fatal error: Call to undefined function: zen_get_generated_category_path_rev() in
zen_get_generated_category_path_rev関数が1.3.0では未定義な為のエラー。
/includes/functions/functions_categories.php に1.3.8から該当関数をコピー&ペーストする。
2.Fatal error: Call to undefined function: zen_get_new_date_range() in
zen_get_new_date_range関数が1.3.0では未定義の為のエラー。
/includes/functions/functions_lookups.php に1.3.8から該当関数をコピー&ペーストする。
3.メーカーを選ぶと以下のエラーが発生する
Warning: require(includes/modules/FILENAME_PRODUCT_LISTING_ALPHA_SORTER.php) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs\zencart\includes\templates\theme228\templates\tpl_index_product_list.php on line 166
Fatal error: require() [function.require]: Failed opening required 'includes/modules/FILENAME_PRODUCT_LISTING_ALPHA_SORTER.php' (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\zencart\includes\templates\theme228\templates\tpl_index_product_list.php on line 166
FILENAME_PRODUCT_LISTING_ALPHA_SORTER が1.3.0では未定義の為のエラー。
/includes/filenames.php に
1 2 |
define('FILENAME_PRODUCT_LISTING_ALPHA_SORTER','product_listing_alpha_sorter'); |
を追加する。
加えて、 product_listing_alpha_sorter.php を /includes/modules/ 下にコピーする。
4. banner2 と banner4 が表示しない
トップページのみ表示するように、 /includes/templates/theme228/common/tpl_main_page.php で $this_is_home_page をチェックしているが、1.3.0では $this_is_home_page が未定義の為表示されない。
/includes/init_includes/init_category_path.php に1.8.3から $this_is_home_page の定義部分をコピー&ペーストする。
の末尾に以下追加
1 2 3 4 |
// determine whether the current page is the home page or a product listing //$this_is_home_page = ($current_page=='index' && ((int)$cPath == 0 || $show_welcome == true)); $this_is_home_page = ($current_page=='index' && (!isset($_GET['cPath'])) && (!isset($_GET['manufacturers_id'])) && (!isset($_GET['typefilter'])) ); |
5.商品一覧でカテゴリーイメージが表示されない
定数 PRODUCT_LIST_CATEGORIES_IMAGE_STATUS が未定義な為
1.8.3の /zc_install/sql/mysql_zencart.sql の該当部分を使い、phpmyadminでDBにインサートする。
1 2 |
INSERT INTO configuration (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES( '商品一覧でカテゴリイメージを表示', 'PRODUCT_LIST_CATEGORIES_IMAGE_STATUS', 'true', 'カテゴリ内商品一覧でカテゴリ画像を表示しますか', 8, 52, NULL, now(), NULL, 'zen_cfg_select_option(array(''true'', ''false''), '); |
6.商品詳細でカテゴリ名とカテゴリーイメージが表示されない
$category_icon_display_image と $category_icon_display_name が未定義な為。
/includes/modules/category_icon_display.php に1.8.3の定義部分をコピー&ペーストする。
7. No.6 で PRODUCT_INFO_CATEGORIES_IMAGE_STATUS も未定義なので1.8.3の /zc_install/sql/mysql_zencart.sql の該当部分を使い、phpmyadminでDBにインサートする。
1 2 |
INSERT INTO configuration (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES( '[前へ] [次へ] - カテゴリ名と画像の表示設定', 'PRODUCT_INFO_CATEGORIES_IMAGE_STATUS', '2', 'カテゴリの画像とカテゴリ名の表示設定<br />0 = カテゴリ名と画像を常に表示<br />1 = カテゴリ名だけを表示<br />2 = カテゴリ名と対象がある場合だけ画像を表示<br />', 18, 20, NULL, now(), NULL, 'zen_cfg_select_drop_down(array(array(''id''=>''0'', ''text''=>''Category Name and Image Always''), array(''id''=>''1'', ''text''=>''Category Name only''), array(''id''=>''2'', ''text''=>''Category Name and Image when not blank'')),'); |
8.おすすめ商品のタイトルが複数行になると、表示が不揃いになるので、タイトルが一行に収まるように変更
/includes/modules/theme228/featured_products.php
1 2 |
$products_name = '<a href="' . zen_href_link(zen_get_info_page($featured_products->fields['products_id']), 'cPath=' . $productsInCategory[$featured_products->fields['products_id']] . '&products_id=' . $featured_products->fields['products_id']) . '">' . $featured_products->fields['products_name'] . '</a>'; |
↓
1 2 |
$products_name = '<a href="' . zen_href_link(zen_get_info_page($featured_products->fields['products_id']), 'cPath=' . $productsInCategory[$featured_products->fields['products_id']] . '&products_id=' . $featured_products->fields['products_id']) . '">' . mb_strimwidth ($featured_products->fields['products_name'], 0, 26, "…") . '</a>'; |
9.カートで支払い情報入力でエラー
Fatal error: Call to undefined method payment::in_special_checkout() in C:\xampp\htdocs\kesela2\includes\templates\theme228\templates\tpl_checkout_payment_default.php on line 39
関数in_special_checkout()が未定義。
/includes/classes/payment.php に1.8.3の定義部分をコピー&ペーストする。
10.配送先変更ボタンが機能しない
$editShippingButtonLink が未定義な為。
Classic Template と同じように決め打ちに変更。
/includes/templates/theme228/templates/tpl_checkout_confirmation_default.php
1 2 |
<div class="buttonRow forward"><?php echo '<a href="' . $editShippingButtonLink . '">' . zen_image_button(BUTTON_IMAGE_EDIT_SMALL, BUTTON_EDIT_SMALL_ALT) . '</a>'; ?></div> |
↓
1 2 |
<div class="buttonRow forward"><?php echo '<a href="' . zen_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . zen_image_button(BUTTON_IMAGE_EDIT_SMALL, BUTTON_EDIT_SMALL_ALT) . '</a>'; ?></div> |
11.配送先変更ボタンが表示しない(お届け先と配送方法を記入してください画面)
$displayAddressEdit、$editShippingButtonLink が未定義な為。
Classic Template と同じように決め打ちに変更。
/includes/templates/theme228/templates/tpl_checkout_shipping_default.php
1 2 3 4 |
<?php if ($displayAddressEdit) { ?> <div class="buttonRow forward"><?php echo '<a href="' . $editShippingButtonLink . '">' . zen_image_button(BUTTON_IMAGE_CHANGE_ADDRESS, BUTTON_CHANGE_ADDRESS_ALT) . '</a>'; ?></div> <?php } ?> |
↓
1 2 |
<div class="buttonRow forward"><?php echo '<a href="' . zen_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '">' . zen_image_button(BUTTON_IMAGE_CHANGE_ADDRESS, BUTTON_CHANGE_ADDRESS_ALT) . '</a>'; ?></div> |
12.カートを空にしたときエラーが発生する
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SQL_SHOW_SHOPPING_CART_EMPTY' at line 1
in:
[SQL_SHOW_SHOPPING_CART_EMPTY]
定数や変数の未定義による。
/includes/templates/theme228/templates/tpl_shopping_cart_default.php
定数や変数参照部分をコメントアウトする。