2012-08-08 71 views
4

我們在我們的Magento商店內使用PowerReviews作爲對標準Magento評論系統的替代。我們已將其設置爲「類別」,「產品」和「評論」頁面,並且一段時間以來一直運行良好。讓PowerReviews通過AJAX正確加載

最近我添加了一個模塊,它將AJAX重新加載功能帶到分類頁面上的過濾導航。即我選擇「紅色」作爲過濾器,並且類別頁面刷新而不用適當的產品重新加載。當我關閉電源評論時,這可以正常工作。

當Power Reviews開啓時,AJAX開始加載,但頁面變白,只顯示PowerReviews <div>標籤。當我看PowerReviews的代碼,我想我能看到的原因:

<script type="text/javascript"> 
    POWERREVIEWS.display.snippet(document, { 
     pr_page_id : '49DAF4', 
     pr_write_review : '/review/product/list/id/1907/category/111/#review-form', 
     pr_read_review : txt, pr_snippet_min_reviews : 1}); 
</script> 

由於POWERREVIEWS.display.snippet被調用時,「文件」是什麼,我認爲正在發生的事情是AJAX負載正在發生的事情,得到寫入「文檔」那麼PowerReviews正在發生,並且正在寫入「文檔」。由於這發生在最後,它劫持了頁面,而不是像正常加載那樣正確放置頁面。

如果我將「文檔」更改爲document.getelementbyid('PWR')之類的內容,並添加<div id="PWR">,則該代碼段將不會顯示在頁面上。有沒有一種方法可以將POWERREVIEWS.display.snippet的輸出定位爲「文檔」以外的內容,這樣兩個腳本就不會相互干擾?

+1

可能是有你的網站的鏈接以獲取怎麼在這裏上了更好的手感非常有用。您的分類頁面上有評論,或JS甚至沒有提供任何評論,但仍然在這些頁面上發生衝突?也可以幫助檢查和使用html/js。 – kalenjordan 2012-08-08 23:22:17

+0

唉,我無法提供問題/錯誤的鏈接,因爲它會大量破壞我們的實時網站,我們的開發網站受到保護。要了解PWR如何在沒有AJAX的情況下實施,您可以查看http://www.americanmeadows.com/flower-bulbs/tulip-flower-bulbs。我們在類別頁面上的內容是以類似方式交付的PWR片段是評論。在第一次加載時,片段顯示正常。在AJAX重新加載時,頁面將只顯示PWR內容。我將看看是否可以在某處設置測試。 – 2012-08-09 13:01:54

+0

從哪裏可以獲取API來獲取產品的評論詳情,是否有可能? – Dipak 2014-08-01 06:47:01

回答

8

PowerReviews實際上爲此提供了一個答案。他們建議直接使用JQuery傳遞方法到DIV。在此發佈以幫助他人。

1)插入JS包括對部分 內的jQuery庫(如果你不這樣做的話):

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 

2)使用寫:函數(內容)語法代碼段函數調用 :

<div id="pr_snippet_category_12345"> <script type="text/javascript"> 
POWERREVIEWS.display.snippet({ write : function(content) { 
$('div#pr_snippet_category_12345').append(content); } }, { pr_page_id 
: '12345', pr_snippet_min_reviews : '1' }) </script> </div> 
+0

你可以把完整的示例代碼。你也知道它是否有可能在JavaScript模板中顯示評分? (我正在使用mustache.js) – Dmitry 2013-03-04 16:02:17