0

Magentoの商品ページのカートに入れる成功メッセージに「買い物を続ける」ボタンを追加しました。私の考えでは、単純な方法を使用して履歴を 2 回さかのぼり、製品カテゴリに戻ることを考えました。私は最初にこれを試しました:

onclick="window.history.go(-1); return false;"

これは Chrome と Safari では完全に機能しましたが、FF ユーザーが 1 つの状態に戻るだけでした。他の js メソッドを使用してみましたが、ブラウザー間で常にその内訳がありました。

<a href="javascript: window.history.go(-1);">
<a href="javascript: history.back(-2);"> 

私は AJAX を使用してアイテムを読み込んでおらず、History.js を理解していません (学習したいと思っています)。この問題のクロスブラウザー ソリューションを見つける手助けが必要です。

4

2 に答える 2

1

この構文は、必要に応じて機能するはずです。

$category = Mage::helper('catalog/data')->getCategory();
$continues = ($category ? $this->__(' or <a href="%s">continue shopping</a>', $category->getUrl()) : '');

$message = $this->__('%s was added to your shopping cart. Click to <a href="/checkout/cart/" id="itemAdder" class="addSuccess">View Your Cart</a>%s.', Mage::helper('core')->escapeHtml($product->getName()), $continues); 

$this->_getSession()->addSuccess($message);

コードで何が起こっているか:

  1. カテゴリを取得する
  2. カテゴリが存在するかどうかを確認し、存在する場合は継続テキストを設定し、存在しない場合は空白の値に設定します。( PHP三項演算子を使用)
  3. 標準メッセージに $continues 変数を含める
  4. セッションに成功メッセージを追加します。

の簡単な説明$this__('Text here %s', $variable)

この関数は、Magento で主にテキストの翻訳に使用されます。

使用されているの%sは、実際には関数に渡された変数に置き換えられます。

たとえば、これがあるとします:$this__('Hello, my name is %s', $name)

この場合、 の場合$name = 'John';、出力は次のようになります。Hello, my name is John

複数の変数を定義することもできます。あなたが持っている場合:
$this__('Hello, my name is %s and I am a %s', $name, $jobtitle)

そして$name = 'John'$jobtitle = 'Farmer'出力は次のようになります。
Hello, my name is John and I am a Farmer.

%s、変数が定義された順序で置き換えられます。したがって、 の最初のインスタンスは%s最初の変数 に$name置き換えられ、2 番目のインスタンスは に置き換えられ$jobtitleます。必要な数の変数を定義できますが、変数は特定の順序にする必要があることを知っておいてください。

于 2013-10-31T15:09:11.483 に答える
1

コメントで説明したように、私は提案の大まかな例を提供します。

顧客が製品カテゴリ ページにアクセスしたら、カテゴリ ID をセッションに保存したいと思います。つまり、このロジックは製品カテゴリ ページまたはそのブロックに実装される可能性があります。(後者が推奨されますが、実際にはモジュールを作成して元のブロックを上書きする必要があります。) 私の例は、template/catalog/category/view.phtml (デフォルト テーマ用) に直接実装されます。

$_category_id = $_category->getId();
Mage::getModel('core/session')->set('last_visit_category_id', $_category_id);

次に、AJAX のカートへの追加アクション、またはショッピング カート ページへのリダイレクトを行っている場合:

$_category_id = Mage::getModel('core/session')->get('last_visit_category_id');
$_category = Mage::getModel('catalog/category')->load($_category_id);

上記のコード ブロックをgetRecommendCategoryとして呼び出しましょう。ロジックを変更して、顧客のアクティビティに基づいて顧客のカテゴリを推奨することができます。

お役に立てれば。

于 2013-11-05T07:23:23.023 に答える