zencart:一定時間new表示

Posted on 日曜日, 6 月 21st, 2009 at 7:29 PM

にて 一定時間 new(画像)を表示させよう。

トップページやカテゴリを開いた時、下に表示される「○月度の新着商品」・「おすすめ商品」や、全商品ページやおすすめ商品ページなどに 登録日より3日で消えるNEWマーク画像を表示し、より目立たせよう。^^

ちなみに新着商品表示期限は、14日にしている。(管理画面にて設定済)
そして更に!newを3日表示させることにより 新着が新着の中でもより強調されるのでいいかな^^ あとは・・・全商品ページを見た時にも、おすすめ商品を見た時にも、newって画像が 付いてたら なおよし!ってことです。

とりあえず思うような表示になっているのでおkかなぁ~^^

~~~~~~~

トップページの○月度の新着・おすすめ

修正ファイルは、

新着情報/includes/modules/テンプレート/new_products.
おすすめ/includes/modules/テンプレート/featured_products.

 new_products.の50行目辺りと63行目辺りに次の青文字を足す。

------------------------

// show only when 1 or more
if ($num_products_count > 0) {
  if ($num_products_count < SHOW_PRODUCT_INFO_COLUMNS_NEW_PRODUCTS || SHOW_PRODUCT_INFO_COLUMNS_NEW_PRODUCTS == 0 ) {
    $col_width = floor(100/$num_products_count);
  } else {
    $col_width = floor(100/SHOW_PRODUCT_INFO_COLUMNS_NEW_PRODUCTS);
  }

  while (!$new_products->EOF) {

$beforedays = date("Y-m-d,h:i:s",strtotime("-72 hours"));
if ($beforedays < $new_products->fields['products_date_added'] ) {
$newdays= "<img src='/images/new.gif' >\n";
} else {
$newdays= "&nbsp;\n";
}

    $products_price = zen_get_products_display_price($new_products->fields['products_id']);

    $new_products->fields['products_name'] = zen_get_products_name($new_products->fields['products_id']);
    $list_box_contents[$row][$col] = array('params' => 'class="centerBoxContentsNew centeredContent back"' . ' ' . 'style="width:' . $col_width . '%;"',
    'text' => '<div class="centerBnew"><a href="' . zen_href_link(zen_get_info_page($new_products->fields['products_id']), 'products_id=' . $new_products->fields['products_id']) . '">' . zen_image(DIR_WS_IMAGES . $new_products->fields['products_image'], $new_products->fields['products_name'], IMAGE_PRODUCT_NEW_WIDTH, IMAGE_PRODUCT_NEW_HEIGHT) . '</a><br /><a href="' . zen_href_link(zen_get_info_page($new_products->fields['products_id']), 'products_id=' . $new_products->fields['products_id']) . '">' . $new_products->fields['products_name']  . '</a><br />' . $newdays . $products_price .'</div>');

----------------

おすすめは、featured_products.

newと異なる部分products_date_added が ないので足さないといけないようだ。15行目と21行目辺り

こんな感じ
  $featured_products_query = "select distinct p.products_id, p.products_image, pd.products_name, p.products_date_added

あとは似たようなもん。w
// show only when 1 or more
if ($num_products_count > 0) {
  if ($num_products_count < SHOW_PRODUCT_INFO_COLUMNS_FEATURED_PRODUCTS || SHOW_PRODUCT_INFO_COLUMNS_FEATURED_PRODUCTS == 0) {
    $col_width = floor(100/$num_products_count);
  } else {
    $col_width = floor(100/SHOW_PRODUCT_INFO_COLUMNS_FEATURED_PRODUCTS);
  }
  while (!$featured_products->EOF) {

$beforedays = date("Y-m-d,h:i:s",strtotime("-72 hours"));
if ($beforedays < $featured_products->fields['products_date_added'] ) {
$newdays= "<img src='images/new.gif' >\n";
} else {
$newdays= "&nbsp;\n";
}

    $products_price = zen_get_products_display_price($featured_products->fields['products_id']);

    $list_box_contents[$row][$col] = array('params' =>'class="centerBoxContentsFeatured centeredContent back"' . ' ' . 'style="width:' . $col_width . '%;"',
    'text' => '<div class="centerBfeatured"><a href="' . zen_href_link(zen_get_info_page($featured_products->fields['products_id']), 'products_id=' . $featured_products->fields['products_id']) . '">' . zen_image(DIR_WS_IMAGES . $featured_products->fields['products_image'], $featured_products->fields['products_name'], IMAGE_FEATURED_PRODUCTS_LISTING_WIDTH, IMAGE_FEATURED_PRODUCTS_LISTING_HEIGHT) . '</a><br /><a href="' . zen_href_link(zen_get_info_page($featured_products->fields['products_id']), 'products_id=' . $featured_products->fields['products_id']) . '">' . $featured_products->fields['products_name'] . '</a><br />'  .$newdays. $products_price .'</div>');

-------------

$beforedays = date("Y-m-d,h:i:s",strtotime("-72 hours")); この数字を 変更すれば消える時間が変更できる。

-3 days でも 同じ意味かな。 72 hoursは 72時間後 3 daysは 3日後 微妙に違うか・・・

全商品ページのファイルは、
includes/templates/テンプレート/templates/tpl_modules_products_all_listing.

新着情報ページ
includes/templates/テンプレート/templates/tpl_modules_products_new_listing.
このファイルの修正は 157行目辺り(いろりろ変更しているので行数不明w・・他と揃えるがいいかも?w)
に printにしてみた。
<?
$beforedays = date("Y-m-d.h:i:s",strtotime("-72 hours",time()));
if ($beforedays < $products_new->fields['products_date_added']  ) {
print "<img src='/images/new.gif' >\n";
} else {
print "&nbsp;\n";
}
?>

--------------

場所は任意で変更可能<例>

                  if ($disp_sort_order->fields['configuration_key'] == 'PRODUCT_NEW_LIST_NAME') {
                    echo $newdays,$display_products_name;
                  }
<商品名の前>

--------------

商品詳細項目追加(newマーク)

-----

メーカー:○○

の「メーカー:」が 不要の場合

/includes/languages/japanese/テンプレート/products_new.

define('TEXT_MANUFACTURER', 'メーカー:');

のメーカー:を削除する。のが早いかな。
define('TEXT_MANUFACTURER', '');

関連記事

You can leave a response, or trackback from your own site.

2 Trackbacks/Pings

  1. みめも » zencart:商品リストにnew    6 月 29 2009 / 2pm
  2. みめも » zencart:商品詳細項目追加    8 月 30 2009 / 5pm

Leave a reply

Name (*)
Mail (will not be published) (*)
URI
Comment