私はこのリクエストを使用しようとしています:
$this->helper('catalog/image')->init($_product, 'image');
このjqueryコードの部分:
jQuery('#image1').attr('src', /*Php code goes here*/ );
誰もがこれを達成する方法を知っていますか?
このように書くだけ
jQuery('#image1').attr('src', <?php /*Php code goes here*/ ?> );
PHPコードが文字列を出力すると仮定します。
コメントを次のように置き換えます。
<?php echo json_encode( $this->helper('catalog/image')->init($_product, 'image') ); ?>
json_encode
JavaScriptを安全にする必要があります(文字列など、実際のJSONに変換できないものを指定した場合でも)
javascriptをテンプレートファイルに入れる必要があります。これにより、ページが読み込まれたときに、javascriptにMagentoから正しいデータが提供されます。javascriptは、マークアップの残りの部分と一緒にレンダリングされるページ自体のソースになり、サーバー側のデータをクライアント側の機能に渡すことができるようになります。現在、これはAJAXを介してMagentoと通信する以外の唯一の手法です。
ここで商品画像を使って何かをしているようです。JavaScriptをに追加し、/app/design/frontend/[theme]/[package]/template/catalog/product/view/media.phtml
Magento関数を使用して、必要な画像を取得します。
jQuery('#image1').attr('src', <?php echo $this->helper('catalog/image')->init($_product, 'image') ?>);
(これはテンプレートで機能する場合と機能しない場合があり、コードを配置する場所とそこにあるコードがわかるまでわかりません。ただし、正しいパスにたどり着くはずです!)