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_SERVERHTTPS_SERVER 设置为您正在使用的相同协议,例如

// HTTP
define('HTTP_SERVER', 'https://yoursite.com/');
// HTTPS
define('HTTPS_SERVER', 'https://yoursite.com/');

确保您的 .htaccess.

中没有任何 http->https 重定向