0

あるページから別のページにmywebsite.com/contact/?product=VAR1の形式でURL変数を正常に設定すると、2ページ目に次のページで読み取られるという問題が発生します。単純なコード。

最初の使用は問題ありませんが、それ以降は問題ありません。変数がクリア/再読み取り/リセットされないという問題があります。URLバーは、URLバー mywebsite.com/contact/?product=VAR2でも正常に読み取られるため、最初の部分が機能します。

ただし、コードは、VAR1を格納した後、VAR2部分を取得することを望んでいません。一度ロードされると、VAR1を再表示し続けます。

<?php echo htmlentities($_GET['product']); ?>

それが違いを生む場合、私はこれでjQuery値チェンジャー内の?product=情報を正常に表示しています:

$(".input-text").val('<?php echo htmlentities($_GET['product']); ?>');

unset($ product);を入れるような自分の解決策を試しました。最後の?>の前に、しかし役に立たない。

私はPHP/jQueryの知識が限られており、変数を設定/取得するこの方法は単純なので使用したいと思います。この変数を渡して正確なフォーム入力ボックス値を書き直し、CMSの連絡フォームで正常に送信できるため、jQueryで使用しています。

------------------------更新:コードを追加---------------------- -

(私が考えることができるように、私はすべてのコードを論理的に表示しているだけです)

#1:変数をURLに設定します。最初のechogetURLはURLを表示し、?product =を追加すると、アイテム名が取得されます。これはすべて問題ありません。

<a href="<?php echo Mage::getURL('webforms/index/index/id/2') ?>?product=<?php echo $_product->getName(); ?>">

#2:フォームはCMS内に設定されています。特別なクラスがあるので、jQuery内で正確に選択できます。私はこれらすべてにアクセスすることはできません。CMSによって生成されます。目的は明らかに、選択した製品をこの変数を介して記憶し、連絡フォームで目的を果たすことです。

<div class="field webforms-fields-enquiryfield">
<label for="field_20">
Product in Enquiry
</label>
<div class="input-box">
<input type="text" name="field[20]" id="field[20]" class="input-text" style="" value="">                        
</div>
</div>

#3:表示する領域と変数が設定されたので、jQueryを使用して変数を入力テキストフォームの実際の値に挿入します。これを行っているのは、CMS内で単純に追加できないためです。テキストを置き換えるには、jQueryを使用する必要があります(とにかく空のボックスです)。

$(".webforms-fields-enquiryfield .input-text").val('<?php echo htmlentities($_GET['product']); ?>');

それがもっと理にかなっていることを願っています。

4

1 に答える 1

0

私はこれに対する答えを理解しました、問題はCMS Magentoが特定のブロックをキャッシュするのが好きであるということでした-それが私が最初にそれを見ることができた理由です、そして私のCMSは変数を保存しますがそれを消去しません。キャッシュを無効にしようとした修正の種類に関係なく、行きません。

代わりに、次のコードを使用し、#変数と、誰でも理解できる簡単なJavaScriptを使用することになりました。これは間違いなく将来のプロジェクトで使用します!非常に簡単な変数の受け渡し..。

if(window.location.hash) {

var hash_value = window.location.hash.replace('#', '');

  $("my-css-input-field-or-whatever-you-want").val(hash_value);

}

hash_valueは、今ではさまざまな方法で使用できると思います。これは、Magentoのセットアップでうまく機能し、キャッシュ/保存されません。代わりに、URLの場所とハッシュを取得します。

(そして、PHPが使用され、CMS内で誰でも置き換え/再利用できるように簡素化されています)

<a href="[GetBaseURLfromCMS]#[MyDynamicVariableHere] ">
于 2013-02-26T00:30:22.137 に答える