kazu-h に投稿

STSことSimple Template Systemというテンプレートシステムがある。
最新バージョンは2.01であるが、対応OSCは2.2MS2であるため、現状の
日本語最新バージョンMS1には対応外である。
STS2.01をosc2.2ms1jに対応するための手順をメモしておく。
STS自体はOSCのトップディレクトリ配下の/catalog/includes配下に
アーカイブに含まれるファイルをコピーして使用する。

STS2.01のものがそのまま使えるファイル。
sts_restart_capture.php
sts_start_capture.php
sts_stop_capture.php
sts_user_code.php
column_left.php
column_right.php

変更が必要なファイル
sts_display_output.php
 MS2であるかのチェックに関係する箇所を変更する。
sts_product_info.php
 そのままで使用できないことは無いが、
 拡大画像対応の変更(52行付近)と、

//popup_image_hack start
list($width, $height, $type, $attr) = getimagesize(DIR_WS_IMAGES . $product_info[\'products_bimage\']);
$template[\'imagepopup\'] =
\'<script language="javascript"><!--\'."\\n".
\'document.write(\'<a href="javascript:popupWindow(\'\' . tep_href_link(FILENAME_POPUP_IMAGE, \'pID=\' . $product_info[\'products_id\']) . \'\',\' . ($width + 15) .\',\'. ($height + 15).\')">\' .
tep_image(DIR_WS_IMAGES . $product_info[\'products_image\'], addslashes($product_info[\'products_name\']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, \'hspace="5" vspace="5"\') . \'<br>\' . TEXT_CLICK_TO_ENLARGE . \'\'. \'\')\' . "\\n".
\'//--></></script>\' . "\\n".
\'<noscript>.
\'<a href="\' . tep_href_link(DIR_WS_IMAGES . $product_info[\'products_image\']) . \'">\' .
tep_image(DIR_WS_IMAGES . $product_info[\'products_image\'], $product_info[\'products_name\'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, \'hspace="5" vspace="5"\') . \'<br>\' .TEXT_CLICK_TO_ENLARGE . \'</a>\' . "\\n".
\'</noscript>\';
//popup_image_hack end

 在庫数チェックの変更を加える。(152行付近)

// stock_check_hack start
if (($product_info[\'products_quantity\']) == 0) {
$template[\'addtocartbutton\'] = \'\' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . \'\';
} elseif (($product_info[\'products_quantity\']) < 0) {
$template[\'addtocartbutton\'] = \'\' . \'hold\'/*STOCK_MARK_PRODUCT_HOLDING*/ . \'\';
} else {
// stock_check_hack end

$template[\'addtocartbutton\'] = tep_image_submit(\'button_in_cart.gif\', IMAGE_BUTTON_IN_CART);

// stock_check_hack start
}
// stock_check_hack end

 日本語対応として登録日のタイトルに日付を埋め込むように変更する。(142行付近)
 productdatelabel,productdateの設定後に以下を実行するように変更する。

// japanese_hack start
//// Strip out %s values
//$template[\'productdatelabel\'] = str_replace(\'%s.\', \'\', $template[\'productdatelabel\']);
// See product date (by kazu-h)
$template[\'productdatelabel\'] = str_replace(\'%s\', $template[\'productdate\'], $template[\'productdatelabel\']);
// japanese_hack end

OSC-2.2MS1jを元に変更したファイル
ファイルの内容がMS2とMS1で大きく異なるため、OSC-2.2MS1jの
以下のファイルを変更する必要がある。
STSのアーカイブ中の同名のファイル中に数箇所ある、STS:ADDから
STS:EOADDまでを、それぞれ適当な場所にコピーする。
application_top.php
application_bottom.php
header.php
footer.php

テンプレートファイルについて
STSのテンプレートファイルはデザインが必要なページごとに用意する。
テンプレートファイルで使用するタグはSTSのドキュメントを参照。

デフォルトテンプレートファイル。
sts_template.html

その他のテンプレートファイル。
ste_templatesの配下に必要に応じてテンプレートファイルを配置する。
商品詳細画面の場合は以下のファイル名。
sts_templates/product_info.php.html

category