0

我正在尝试使用此请求:

$this->helper('catalog/image')->init($_product, 'image');

在这段 jquery 代码中:

jQuery('#image1').attr('src',   /*Php code goes here*/  );

有谁知道如何做到这一点?

4

3 回答 3

0

只能这样写

jQuery('#image1').attr('src', <?php  /*Php code goes here*/ ?> );
于 2012-10-03T10:32:33.637 回答
0

假设 PHP 代码输出一个字符串。

将您的评论替换为:

<?php echo json_encode( $this->helper('catalog/image')->init($_product, 'image') ); ?>

json_encode应该让它 JavaScript 安全(即使你给它一些不能变成真正的 JSON 的东西,比如字符串)

于 2012-10-03T10:33:12.380 回答
0

您需要将 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') ?>);

(这可能适用于您的模板,也可能不适用,在知道您将在哪里放置代码以及那里有什么代码之前无法判断。但是它应该让您走上正确的道路!)

于 2012-10-03T11:17:55.110 回答