MagentoをPHP5.4に対応させるパッチ

MagentoをPHP5.4に対応させるパッチ

MagentoをPHP5.4に対応させるパッチ

管理画面から設定する項目

『NEW』アイコン表示に使う期間設定項目

NEW

『SALE』アイコン表示に使う期間設定項目

SALE

対象ファイル(カテゴリ一覧の場合)

  • /app/design/frontend/default/modern/template/catalog/product/list.phtml
  • /app/design/frontend/default/modern/template/catalog/product/widget/new/content/new_grid.phtml
  • /app/design/frontend/default/modern/template/catalog/product/widget/new/content/new_list.phtml
を編集します。

記述するコード

該当箇所に以下をペーストするだけでOKですが、画像のパスなどは適所変更してください。

[php] load($_product->getId())->getSpecialPrice(); // 『特別価格開始日』の取得 $specialPriceFromDate = Mage::getModel(‘catalog/product’)->load($_product->getId())->getSpecialFromDate(); // 『特別価格終了日』の取得 $specialPriceToDate = Mage::getModel(‘catalog/product’)->load($_product->getId())->getSpecialToDate(); // 現在時刻の取得 $today = time(); /* 本来テンプレートファイルの中で上記の「Mage::」は使うべきではないですが、 ↓のようにするのですが、うまく動作しないので・・・ $specialprice = $_product->getSpecialPrice(); $specialPriceFromDate = $_product->getSpecialFromDate(); $specialPriceToDate = $_product->getSpecialToDate(); */ ?> = strtotime( $specialPriceFromDate) && $today <= strtotime($specialPriceToDate) || $today >= strtotime( $specialPriceFromDate) && is_null($specialPriceToDate)) { ?> SALE getNews_from_date()); $end = strtotime($_product->getNews_to_date()); if ($today < $start || $today > $end) { ?> NEW [/php]

セール商品の価格が期間を過ぎても変わらない・・・

運用ではCronを使う必要があるのですが、Cronを設定していない状態ではmagentoのファイルキャッシュの関係でセール商品の価格が期間を過ぎても変わらないという状態に陥ります…。そんなときは『インデックス管理』の商品価格の項目を「再インデックス」することで全商品の価格のキャッシュを作り直します。セール価格も期限が過ぎていれば通常価格に戻ります。お試しあれ。
インデックス管理

以上です。