我正在嘗試在該產品頁面上的側邊欄中獲取產品評論頁面的網址。我知道這不是那麼困難,但它現在正在擊敗我..在產品頁邊欄中獲取產品的評論頁面URL
我可以得到產品頁面網址(基本上是側邊欄頁面的網址),但不是評論頁面。 。它與-reviews.htm在本質上是相同的網址而不僅僅是.htm
我在哪裏出錯了?我必須做什麼?
我正在嘗試在該產品頁面上的側邊欄中獲取產品評論頁面的網址。我知道這不是那麼困難,但它現在正在擊敗我..在產品頁邊欄中獲取產品的評論頁面URL
我可以得到產品頁面網址(基本上是側邊欄頁面的網址),但不是評論頁面。 。它與-reviews.htm在本質上是相同的網址而不僅僅是.htm
我在哪裏出錯了?我必須做什麼?
在你(你的主題)catalog.xml文件中找到<catalog_product_view translate="label">
查找<reference name="right">
開頭的部分。
如果您的模板沒有在產品視圖中的右側部分,添加一個在下面的內容,然後輸入:
<reference name="right">
<block type="review/product_view_list" name="product.info.product_additional_data" as="reviews" template="review/product/view/list.phtml"/>
</reference>
請確保您有緩存關閉,加載你的產品頁面(希望一個產品和回顧在那裏),你現在應該有必要的。
您還需要在產品頁面上添加評論框,以便人們添加評論。有一些非常笨拙的方法可能導致無法正常工作。但是,這是一種簡單易行的方法...
打開之前的layout.xml文件,轉到catalog_product_view部分,直接轉到內容部分的底部。尋找最終結束標籤</reference>
。現在添加:
<block type="review/form" name="product.review.form" as="review_form" template="review/form.phtml"/>
現在到前端,增加您的推薦,並注意有奇妙的所有作品,完成與主題等
希望,有了這個例子中,你將開始瞭解如何強大, Magento佈局xml文件是有用的。
額外
由於它是需要一個新塊,你需要新的模板文件。
地址:
app/design/frontend/base/default/template/review/sidebar.phtml
進入到它的東西,如:
<div class="block block-reviews">
<div class="block-title">
<strong><span>Reviews</span></strong>
</div>
<div class="block-content">
<p><a href="<?php echo $this->getMacGuffin($this->getProductId()) ?>">MacGuffin!</a></p>
</div>
</div>
編輯app/code/core/Mage/Review/Block/Product/View/List.php
和類右括號前添加輔助URL功能:
public function getMacGuffin($id)
{ return Mage::getUrl('review/product/list', array('id'=> $id));
}
現在整理你的佈局XML添加到參考左邊塊或引用正確的,什麼的,對產品頁面指令:
<block type="review/product_view_list" name="review_sidebar" as="macguffin" template="review/sidebar.phtml"/>
,讓你你想要的鏈接,在一個不錯的側邊欄塊的一些東西,你可以CSS來。將其複製到您的主要主題。 你可以從我之前指出的list.phtml模板中取得你想要的,並且做你自己的代碼來總結你的評論,或者如果你沒有評論時說別的話。
請問<?php echo $this->getReviewsUrl() ?>
是否適合您?
否則,您可以隨時獲取您所說的產品網址,在「。」上展開它,插入評論並將它們粘在一起。但我認爲這不是一個安全的解決方案,因爲我的Magento安裝中的評論URL與產品頁面URL差別很大,所以在升級過程中您可能會破壞某些內容。 (例如,我的產品頁面看起來像是domain.com/category/product.htm,但評論頁面是:domain.com/review/product/list/id/10450/category/281/#review-form)
編輯:
我挖得更深一點。我在app/design/frontend/base/default/template/review/helper/summary.phtml
的輔助模板中找到$this->getReviewsUrl()
。 這解釋了爲什麼您不能在產品頁面上使用該方法;它有不同的上下文。該座幫手此模板以app/code/core/Mage/Review/Block/Helper.php
具有雖然答案:
public function getReviewsUrl()
{
return Mage::getUrl('review/product/list', array(
'id' => $this->getProduct()->getId(),
'category' => $this->getProduct()->getCategoryId()
));
}
您可以使用此功能的內容在你的模板來生成你想要的鏈接。
是否在 「>?或者是一個錯誤的? –
BigJ
糟糕!你不是說'普遍的權利'嗎?左和右對我來說是一樣的,除非以'universal'開頭,尤其是如果遵循下面的指示......無論如何,很好的發現,保證你在糾正爲正確的時候能夠工作。 –
不幸的是,這只是在側邊欄中顯示評論。我仍然無法生成評論頁面的鏈接。 – BigJ