在openart中实现不同的磁盘短名称
Implement different disqus shortnames in Opencart
我使用openart 1.5.5.1。在产品页面上,我已经成功地用Disqus的讨论工具更改了"评论"选项卡!而且效果很好。但是我的网站是意大利语/英语双语的,我希望用户用他们选择的语言阅读讨论。所以我创建了两个不同的disquid(两个独立的讨论板)。
在我的产品。我必须插入他们的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'; }
检查您是否在disqus上为您的网站注册了disqus短名称
disqus_shortname
告诉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- 在您的控制器中,您必须将语言代码传播到模板(编辑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>
相关文章:
- Javascript-将每个传入的数据直接保存到磁盘
- 将从浏览器创建的文件保存到磁盘 - 不能在 Firefox 上使用新的 File()
- 获取图像's磁盘中文件的实际高度和宽度
- 将json写入本地磁盘javascript
- 使用javascript从磁盘中的文件夹中选择所有图像的路径
- Outlook加载项使用Javascript将附件保存到磁盘
- 如何从本地文件夹(磁盘存储)读取或获取图像文件,并使用nodejs服务器将其发送到Angularjs
- 流星js如何从服务器向磁盘写入文件
- Javascript错误:磁盘已满
- PHP:如何用unicode字符将文件写入磁盘
- 从php中的本地磁盘读取文件
- 如何在JSF中将toDataURL方法返回的画布内容作为图像存储在磁盘上
- JavaScript-从本地磁盘打开一个文件
- 在引用磁盘上的图像时,Cordova中的短延迟(500ms?)
- 使用 sql.js 从磁盘读取 SQLite 数据库
- 如何在不导致磁盘读取的情况下提供静态文件
- 如何将本地磁盘上的文本文件读入 javascript 中的变量
- 将画布保存到 Node-webkit 中的磁盘
- 将文件写入磁盘
- 在openart中实现不同的磁盘短名称