Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Opencart中实现不同的Disqs短名称_Javascript_Conditional Statements_Opencart_Disqus - Fatal编程技术网

Javascript 在Opencart中实现不同的Disqs短名称

Javascript 在Opencart中实现不同的Disqs短名称,javascript,conditional-statements,opencart,disqus,Javascript,Conditional Statements,Opencart,Disqus,我正在使用opencart 1.5.5.1。 在产品页面上,我已经通过一个讨论工具成功地更改了“Review”选项卡!而且效果很好。 但我的网站是意大利语/英语双语,我希望用户能够用他们选择的语言阅读讨论。 因此,我创建了两个不同的disqus id(两个独立的讨论板) 在我的product.tpl上,我必须插入带有如下变量的javascript: <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT

我正在使用opencart 1.5.5.1。 在产品页面上,我已经通过一个讨论工具成功地更改了“Review”选项卡!而且效果很好。 但我的网站是意大利语/英语双语,我希望用户能够用他们选择的语言阅读讨论。 因此,我创建了两个不同的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>

但是这里我们谈论的是js! 如果出现以下情况,我如何告诉此脚本该语句? 我需要像这样的东西

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

检查您是否在disqus上为您的网站注册了disqus简称

短名

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

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

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; ?>";
        };

var discus_config=function(){
该语言为“”;
};

在控制器中,您必须将语言代码传播到模板(编辑
目录/控制器/产品/产品.php
文件)-添加以下内容:

$this->data['language_code'] = $this->language->get('code');
然后以这种方式编辑模板文件(
catalog/view/theme//template/product/product.tpl
):


/***配置变量:粘贴到网页前编辑***/
var discus_shortname='xxxxxxxxx';//魔咒在这里完成了。。。
/***请勿在此行下方编辑***/
(功能(){
var dsq=document.createElement('script');
dsq.type='text/javascript';dsq.async=true;
dsq.src='/'+discus_shortname+'.discus.com/embed.js';
(document.getElementsByTagName('head')[0]| | document.getElementsByTagName('body')[0]).appendChild(dsq);
})();

也许我没有正确解释我的问题。我已经有两个Discus_简称,因为我想把英语和意大利语的讨论分开。因此,我需要做的是创建一个条件,根据会话的语言选择正确的Discus_shortname。我要避免的是在同一个线程上有混合的英语/意大利语评论。感谢你们两位对教程的回复。实际上,我已经实现了我所需要的设置“code”$language=($this->language->get('code')='it')?”它':'恩';'“代码”,然后在脚本中使用它来设置两个discus_短名称。我会给你看代码,但我不能回答我同样的问题…@FabrizioTatti你可以回答你自己的问题,如果你意识到你自己的解决方案,你甚至应该在这里发布并接受它。无论如何,在OpenCart中,条件
$lang=($this->language->get('code')=='it'?'it':'en')
与只调用
$lang=$this->language->get('code')非常相似。。。
 <?php
    $language = ( $this->language->get('code') == 'it' )? 'it' : 'en';
    ?>
    <script>
    var disqus_config = function () { 
          this.language = "<?php echo $language; ?>";
        };
$this->data['language_code'] = $this->language->get('code');
<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>