我最近从magento 1.5升级到1.8,升级“add your review
”链接后返回/review/product/list/id/250/#review-form
这样的网址。这个URL显示了一个2-col-right模板,其中我的页面是2 col-left design ....在升级之前我使用下面的方法在产品视图页面上显示评论。
我在关闭catalog_product_view
中的“catalog.xml
”句柄之前添加以下代码。
<block type="review/product_view_list" name="product.info.product_additional_data" as="product_review" template="review/product/view/list.phtml">
<block type="review/form" name="product.review.form" as="review_form"/>
</block>
然后在目录/产品下的view.phtml中添加一个调用
<?php echo $this->getChildHtml('product_review') ?>
版本1.5中的每件事都很好,当点击“添加你的评论”链接时,它返回URl,如www.mystore/product URL|#review-form
,(这与版本1.8不同),因此显示屏幕只是跳转到定义的页面位置通过ID“review-form”在同一页面上而不是像1.8版本那样的新URL。
我已检查“add your review
”链接是由函数“getReviewsSummaryHtml
”生成的,该链接未从1.5更改为1.8。在review.xml中从1.5到1.8也没有任何改变。所以我迷路了。
我的1.5版本是由其他开发人员创建的,在使用上述方法在产品页面上显示评论之前可能还有一些事情需要做其他事情....为什么同样的函数getReviewsSummaryHtml
返回不同的URL哪个代码看起来从1.5到1.8?
答案 0 :(得分:2)
我找到了答案。在我的1.5主题下,有一个模板/ review / helper / summary.phtml,最终由getReviewSummaryHtml函数调用并覆盖其基本文件。以下代码
<p class="rating-links">
<a href="#customer-reviews"><?php echo $this->__('%d Review(s)', $this->getReviewsCount()) ?></a>
<span class="separator">|</span>
<a href="#review-form"><?php echo $this->__('Add Your Review') ?></a>
</p>
它为相应的链接分配直接ID并跳转到产品视图页面上的评论部分,而不是在基础设计中加载评论/产品/列表页面。升级后我没有将该summary.phtml文件复制到我的主题中.... 希望这有助于那些使用上述方法在产品视图页面上显示评论...
答案 1 :(得分:0)
我在Magento2上有类似的问题,在我的情况下,它是自定义标签的不同名称,不得不覆盖文件
供应商/的magento /模块审查/视图/前端/网络/ JS /过程reviews.js
$(function () {
$('.product-info-main .reviews-actions a').click(function (event) {
var acnchor;
event.preventDefault();
acnchor = $(this).attr('href').replace(/^.*?(#|$)/, '');
$('.product.data.items [data-role="content"]').each(function (index) { //eslint-disable-line
if (this.id == 'smarttabs.reviews.tab') {
$('.product.data.items').tabs('activate', index);
$('html, body').animate({
scrollTop: $('#' + acnchor).offset().top - 50
}, 300);
}
});
});
});
也许它会帮助某人:)