Zen Cart エラーの表示

Zen Cart

Zen Cart 詳細なエラーを表示させる

Zen Cart 1.3.8

Zen Cartで詳細なエラーを表示させます。
セキュリティホールになる可能性があるので、カスタマイズ時などだけに利用したほうがよいでしょう。

以下、手順です。

  1. /includes/application_top.phpを開く
  2. 下記のコメントアウトを外す
  3.  define('STRICT_ERROR_REPORTING', true);
    

Zen Cart salemaker.php のプルダウンメニューを修正

Zen Cart

Zen Cart 1.3.0.2

オープンソースでネットショップを気軽に作れるZen Cart。
多言語対応しているなど、豊富な機能が気に入ってます。

・Zen Cart日本語公式サイト
http://zen-cart.jp/

さて、そのZen Cartの管理者機能の中でセールを作成するsalemakerという機能がありますが、デフォルトでインストールしたのちはこのページのみIEでプルダウンメニューが動作しない、という不具合があります。

Firefoxや、他のページに移動してからまた移動すればいいので、そんなにクリティカルではないのですが、やっぱり直したいですよね。
とりあえず、下記の方法で修正できましたので書いておきます。

  1. admin/salemaker.phpを開く
  2. 262行目がかぶっているので、削除
  3. 257行目あたりにあるタグを268行目

Zen Cart javascriptを読み込む

Zen Cart

Zen Cartでjavascriptを利用する、読み込む

Zen Cart 1.3.0.2-l10n-jp-5

Zen CartのテンプレートでJavascriptを読み込むためには、下記のようにします。

  1. テンプレートディレクトリ内に”jscript”という名前のディレクトリを作る
  2. その中に、ファイル名の最初に”jscript”という名前のJavascriptをアップロードする。たとえば”test.js”というJavascriptファイルを読み込ませたい場合は、”jscript_test.js”という名前に変更してアップロードする。
  3. すると、自動的にJavascriptが読み込まれます。

これは、Zen Cartのテンプレート、ヘッダーを構成するファイル

/includes/templates/テンプレート名/common/html_header.php

 /**
  * load all page-specific jscript_*.js files from includes/modules /pages/PAGENAME, alphabetically
 */
  $directory_array = $template->get_template_part($page_directory, '/^jscript_/', '.js');
  while(list ($key, $value) = each($directory_array)) {
    echo '<script type="text/javascript" src="' . $page_directory . '/' . $value . '"></script>' . "\n";
  }

と記述してあるからです。
ちなみに、アルファベット順に読み込むことになっているので、Javascriptの読み込み順序を変更したい場合は、読み込ませたい順番にアルファベット順がなるように名前をつけましょう。

Zen Cart hidden のinputタグを書く

Zen Cart

Zen Cart hidden のinputタグを書く

 zen_draw_hidden_field($name, $value, $option);

という関数を使います。

1番目の引数は’name’,2番目の関数は’value’です。3番目はオプションなので、セットしなくても利用できます。

実際の使用例です。

 echo zen_draw_hidden_field ('test_id','1');

出力されるタグは

 <input type="hidden" value="1" name="test_id">

です。

 

Zen Cart cssを読み込む

Zen Cart

Zen CartでCSS(スタイルシート)を利用する、読み込む

Zen Cart 1.3.0.2-l10n-jp-5

Zen CartのテンプレートでCSSを読み込むためには、下記のようにします。

  1. テンプレートディレクトリ内に”css”という名前のディレクトリを作る
  2. その中に、ファイル名の最初に”stylesheet”がついた名前のCSSをアップロードする。たとえば”test.css”というCSSファイルを読み込ませたい場合は、”stylesheet_test.css”という名前に変更してアップロードする。
  3. すると、自動的にCSSが読み込まれます。

これは、Zen Cartのテンプレート、ヘッダーを構成するファイル

/includes/templates/テンプレート名/common/html_header.php

 /**
 * load all template-specific stylesheets, named like "style*.css", alphabetically
 */
  $directory_array = $template->get_template_part($template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css'), '/^style/', '.css');
  while(list ($key, $value) = each($directory_array)) {
    echo '<link rel="stylesheet" type="text/css" href="' . $template->get_template_dir('.css',DIR_WS_TEMPLATE, $current_page_base,'css') . '/' . $value . '" />'."\n";
  }

と記述してあるからです。
ちなみに、アルファベット順に読み込むことになっているので、CSSの読み込み順序を変更したい場合は、読み込ませたい順番にアルファベット順がなるように名前をつけましょう。