2016-12-06 3 views
0

私は、製品の不変の属性(サイト上のアイテム)を参照する必要があるプロジェクトに取り組んでいます。過去に私は "data-product"という属性の値を使ってそれらを参照しました。この値は、Bigcommerceによって割り当てられた商品のIDなので変更されません。昨日、私はグローバルproduct_id変数(%% GLOBAL_ProductID %%)を発見しましたので、いくつかのテストを行いました。%% GLOBAL_ProductID %%と「実際の」商品IDの異なる結果 - Bigcommerce - なぜですか?

私はプロダクトID変数の値を取得し、コンソールにそれを印刷するとき:

<span id="the-id-of-the-product">%%GLOBAL_ProductId%%</span> 
<script>  
    var theProductIdNumber = $.trim($('span#the-id-of-the-product').text()); 
    console.log(theProductIdNumber); 
</script> 

を、私は同じ製品を検査し、「DATA-の値を見ると、私はその後、別の番号を取得します製品」属性:

![enter image description here

がさらに混乱、私は2つの異なる製品について%% %% GLOBAL_ProductID何同じ番号(文字列)ごとに1つのケースがどこ値ました。

なぜこれが起こっているのか教えてください。私はBC定義されたグローバル変数を使うことは、それがそうであるように思われるものなので、製品を参照するより固い方法であると仮定しました。

いつものように、あなたの時間と援助は大変ありがとうございます。私はあなたに良い一日があることを願っています。

+0

Tronさん、 '%% GLOBAL_ProductId %%'をどのファイルに挿入して印刷していますか?私はこの問題が以前に起きたことは一度も見たことがなく、通常このグローバルは常に信頼できるものです。製品のIDを知るための100%確実な方法は、バックエンドから取得することです。コントロールパネルにログインして「製品を表示」に行き、いずれかの製品を編集すると、そのIDが表示されますあなたのブラウザのURLバーに例: 'store.com/manage/products/2264/edit' –

+0

このエラーを再現できる場所への特定のリンクを提供できますか? –

+0

@rootこの場合、製品フォームにカテゴリをクリックすると、製品ページにスクリプトが置かれ、その製品の説明ページ(product.html)に移動します。 – Tron

答えて

0

これは古い投稿であることを認識していますが、今日は同じ問題があり、何が起こっているのかを理解していると思います。

JavaScriptがproduct.htmlテンプレートの一番下にGLOBAL_ProductIdを参照していました。値は決して正確ではなく、変わりもありませんでした。より深く見ると、関連製品領域に表示されている最後の製品のIDであるように見えました。

JavaScript変数の初期化をproduct.htmlから取り出し、ProductDetails.htmlに移動して問題を解決しました。 Related Products領域が生成されたとき、誰かがGlobal_ProductID変数をリサイクルすることを決めたようです。または...そのような何か、yuk。

あなたのテーマにはProductDetails.htmlが含まれていない場合もありますが、GLOBAL_ProductIDを参照する変数をどこで初期化するかは、あなたを忘れてしまうかもしれません。

関連する問題