我正在尝试使用此请求:
$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 放在模板文件中,以便在加载页面时,从 Magento 为 javascript 提供正确的数据。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') ?>);
(这可能适用于您的模板,也可能不适用,在知道您将在哪里放置代码以及那里有什么代码之前无法判断。但是它应该让您走上正确的道路!)