Opencart 版本 2.0.3.1,产品页面上的评论按钮不起作用
Opencart Version 2.0.3.1, Review button on product page not working
我想在我的旧电子商务网站上添加评论功能。但是,“写评论”按钮似乎不起作用,它不会将我带到评论页面;好像坏了 link。我关注了 opencart documentation 评论,但只有这个错误。
I am using opencart Version 2.0.3.1.
我认为,您的产品页面上的 评论 选项卡有问题。
由于可能有 OpenCart 经验。这个“写评论”按钮的最佳代码是:
<a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); $('html, body').animate({scrollTop: $('ul.nav-tabs').offset().top},'slow'); return false;">Write a review</a>
它应该比标准的更好用。
如果这没有帮助 - 请写一个 link 到您的网站,我会更正答案。
已更新
没有找到 product.tpl <div id="tab-review" class="tab-content">
。应该是
<?php if ($review_status) { ?>
<div id="tab-review" class="tab-content">
<div id="review"></div>
在此文件的底部,您可以查找脚本
<script type="text/javascript"><!--
$('#review .pagination a').live('click', function() {
$('#review').fadeOut('slow');
$('#review').load(this.href);
$('#review').fadeIn('slow');
return false;
});
$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');
$('#button-review').bind('click', function() {
$.ajax({
url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>',
type: 'post',
dataType: 'json',
data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
beforeSend: function() {
$('.success, .warning').remove();
$('#button-review').attr('disabled', true);
$('#review-title').after('<div class="attention"><img src="catalog/view/theme/default/image/loading.gif" alt="" /> <?php echo $text_wait; ?></div>');
},
complete: function() {
$('#button-review').attr('disabled', false);
$('.attention').remove();
},
success: function(data) {
if (data['error']) {
$('#review-title').after('<div class="warning">' + data['error'] + '</div>');
}
if (data['success']) {
$('#review-title').after('<div class="success">' + data['success'] + '</div>');
$('input[name=\'name\']').val('');
$('textarea[name=\'text\']').val('');
$('input[name=\'rating\']:checked').attr('checked', '');
$('input[name=\'captcha\']').val('');
}
}
});
});
//--></script>
如果没有这样的脚本 - 添加它。
然后,在与product.tpl相同的文件夹中找到review.tpl,代码为
<?php if ($reviews) { ?>
<?php foreach ($reviews as $review) { ?>
<div class="review-list">
<div class="author"><b><?php echo $review['author']; ?></b> <?php echo $text_on; ?> <?php echo $review['date_added']; ?></div>
<div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $review['rating'] . '.png'; ?>" alt="<?php echo $review['reviews']; ?>" /></div>
<div class="text"><?php echo $review['text']; ?></div>
</div>
<?php } ?>
<div class="pagination"><?php echo $pagination; ?></div>
<?php } else { ?>
<div class="content"><?php echo $text_no_reviews; ?></div>
<?php } ?>
如果没有这样的文件 - 添加 id。
如果所有条件都正常,但仍然无法正常工作 - 这里是您的控制台错误的屏幕截图。
已更新 2
检查脚文件夹中的 config.php 并将 HTTP_SERVER
和 HTTPS_SERVER
设置为您正在使用的相同协议,例如
// HTTP
define('HTTP_SERVER', 'https://yoursite.com/');
// HTTPS
define('HTTPS_SERVER', 'https://yoursite.com/');
确保您的 .htaccess
.
中没有任何 http->https 重定向
我想在我的旧电子商务网站上添加评论功能。但是,“写评论”按钮似乎不起作用,它不会将我带到评论页面;好像坏了 link。我关注了 opencart documentation 评论,但只有这个错误。
I am using opencart Version 2.0.3.1.
我认为,您的产品页面上的 评论 选项卡有问题。
由于可能有 OpenCart 经验。这个“写评论”按钮的最佳代码是:
<a href="" onclick="$('a[href=\'#tab-review\']').trigger('click'); $('html, body').animate({scrollTop: $('ul.nav-tabs').offset().top},'slow'); return false;">Write a review</a>
它应该比标准的更好用。
如果这没有帮助 - 请写一个 link 到您的网站,我会更正答案。
已更新
没有找到 product.tpl <div id="tab-review" class="tab-content">
。应该是
<?php if ($review_status) { ?>
<div id="tab-review" class="tab-content">
<div id="review"></div>
在此文件的底部,您可以查找脚本
<script type="text/javascript"><!--
$('#review .pagination a').live('click', function() {
$('#review').fadeOut('slow');
$('#review').load(this.href);
$('#review').fadeIn('slow');
return false;
});
$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');
$('#button-review').bind('click', function() {
$.ajax({
url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>',
type: 'post',
dataType: 'json',
data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
beforeSend: function() {
$('.success, .warning').remove();
$('#button-review').attr('disabled', true);
$('#review-title').after('<div class="attention"><img src="catalog/view/theme/default/image/loading.gif" alt="" /> <?php echo $text_wait; ?></div>');
},
complete: function() {
$('#button-review').attr('disabled', false);
$('.attention').remove();
},
success: function(data) {
if (data['error']) {
$('#review-title').after('<div class="warning">' + data['error'] + '</div>');
}
if (data['success']) {
$('#review-title').after('<div class="success">' + data['success'] + '</div>');
$('input[name=\'name\']').val('');
$('textarea[name=\'text\']').val('');
$('input[name=\'rating\']:checked').attr('checked', '');
$('input[name=\'captcha\']').val('');
}
}
});
});
//--></script>
如果没有这样的脚本 - 添加它。
然后,在与product.tpl相同的文件夹中找到review.tpl,代码为
<?php if ($reviews) { ?>
<?php foreach ($reviews as $review) { ?>
<div class="review-list">
<div class="author"><b><?php echo $review['author']; ?></b> <?php echo $text_on; ?> <?php echo $review['date_added']; ?></div>
<div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $review['rating'] . '.png'; ?>" alt="<?php echo $review['reviews']; ?>" /></div>
<div class="text"><?php echo $review['text']; ?></div>
</div>
<?php } ?>
<div class="pagination"><?php echo $pagination; ?></div>
<?php } else { ?>
<div class="content"><?php echo $text_no_reviews; ?></div>
<?php } ?>
如果没有这样的文件 - 添加 id。
如果所有条件都正常,但仍然无法正常工作 - 这里是您的控制台错误的屏幕截图。
已更新 2
检查脚文件夹中的 config.php 并将 HTTP_SERVER
和 HTTPS_SERVER
设置为您正在使用的相同协议,例如
// HTTP
define('HTTP_SERVER', 'https://yoursite.com/');
// HTTPS
define('HTTPS_SERVER', 'https://yoursite.com/');
确保您的 .htaccess
.