1

我正在使用 opencart 1.5.5.1。在产品页面上,我已经使用Disqus的讨论工具成功更改了“评论”选项卡!而且效果很好。但是我的网站是意大利语/英语双语,我希望用户以他们选择的语言阅读讨论。所以我创建了两个不同的disqus id(两个独立的讨论板)。

在我的 product.tpl 上,我必须插入带有变量的 javascript,例如:

<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */

var disqus_shortname = 'xxxxxxxxxx';

/* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>

我想让变量 disqus_shortname 依赖于会话中给出的语言代码。

只要我明白我可以通过 php 得到它

$this->session->data['language']

或者

$this->language->get('code')

但在这里我们谈论的是js!我怎样才能告诉这个脚本语句 if?我需要类似的东西

if $this->language->get('code') == 'it' { var disqus_shortname = 'xxxxxxxxxxitalian'; }
else { var disqus_shortname = 'xxxxxxxxxxenglish'; }
4

2 回答 2

0

检查您是否在 Disqus 上为您的网站注册了 disqus 短名称。

disqus_shortname

告诉 Disqus 服务您论坛的短名称,这是您在 Disqus 上注册的网站的唯一标识符。如果未定义,Disqus 嵌入将不会加载。

要在页面上加载不同的语言,请使用

var disqus_config = function () { 
  this.language = "ru";
};

代码如:

 <?php
    $language = ( $this->language->get('code') == 'it' )? 'it' : 'en';
    ?>
    <script>
    var disqus_config = function () { 
          this.language = "<?php echo $language; ?>";
        };

http://help.disqus.com/customer/portal/articles/466249-can-disqus-be-loaded-in-different-languages-per-page-

于 2013-04-25T02:58:03.850 回答
0

在您的控制器中,您必须将语言代码传播到模板(编辑catalog/controller/product/product.php文件) - 添加:

$this->data['language_code'] = $this->language->get('code');

然后以这种方式编辑模板文件(catalog/view/theme/<YOUR_THEME>/template/product/product.tpl):

<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */

var disqus_shortname = 'xxxxxxxxxx<?php echo $language_code; ?>'; // here the mojo is done...

/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
    var dsq = document.createElement('script');
    dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
于 2013-04-25T13:35:36.877 回答