2012-10-03 41 views
0

我試圖用這個請求:Magento的:使用PHP jQuery中

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

在這片jQuery代碼:

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

任何人都知道如何做到這一點?

+0

您是否試圖將客戶端和服務器端????你在這裏失去了我。 – geekman

+0

爲什麼最初沒有使用正確的'src'屬性渲染圖像?所以沒有JavaScript是必需的。 – Shikyo

+0

奧克也許我應該多給點信息。 嚴.. 我有一個圖像,調整頁面加載。 當我點擊圖像時,它會打開一個燈箱,並在這個燈箱中加載被點擊的圖像。 圖像文件真的很大。 我使用magento resize功能將其大小調整爲235×350以快速加載頁面。 現在,當燈箱打開時,它有一個模糊的圖像,因爲我做了一個非常大的小圖像。 (如屏幕的一半)。 所以,現在我試圖用一個非調整大小的圖像onclick替換調整大小的圖像。 – Weszzz7

回答

0

寫像這樣僅

jQuery('#image1').attr('src', <?php /*Php code goes here*/ ?>); 
0

假設PHP代碼輸出的字符串。

替換您的評論:

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

json_encode應該使它的JavaScript安全(即使你給它的東西,能不能變成現實JSON,如字符串)

0

您需要把你的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') ?>); 

(這可能會或可能不會使用你的模板,直到它知道你將要放置代碼的位置,以及代碼是什麼時才能知道,但是它應該讓你走上正確的道路!)