我已经挣扎了好几天......
使用vQmod文件的MVC模式。
我正在尝试使用谷歌翻译以编程方式在翻译语言之间切换
代码:
vqMod文件(同时加载js.cookie.js, googTrans.js,jquery.cookie.js
)
此vqmod修改header.php controller
$l = $this->session->data['language'];
setcookie("googtrans", "", time()-3600); // kill cookie
setcookie("googtrans", "/en/" . $l); // set new one - does not work
setcookie("SETCOOKIE", "" . $l); // this actually worx
设置第一次cookie,但之后不会重写cookie
尝试使用jQuery.cookie.js / js.cookie.js
更改Cookie:
使用相同的vQmod文件修改header.tpl
<?php echo "<script type='text/javascript'>
$.cookie('googtrans', '/en/" . $this->session->data['language'] . "');
</script>";?>
在加载googTrans.js
或致电//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit
googTrans.js
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
includedLanguages: 'fr,ru',
layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL,
multilanguagePage: true,
gaTrack: true,
gaId: 'UA-XXXXX-X'},
'google_translate_element');
}
没有运气...... :-( 有任何想法吗??什么时候写cookie?来自header.php或header.tpl?为什么php没有改变cookie或者那个问题也没有jQuery ... 怎么去呢? 如果您需要更多信息,我会更乐意回复。 感谢名单
答案 0 :(得分:0)
Thanx @Tatos ......你指出我正确的方向。 在我的案例中的解决方案是:
Cookies.remove('googtrans',{path:'', domain: 'domainNameNoDot.com'});
Cookies.remove('googtrans',{path:'', domain: '.domainNamePrecedDot.com'});
Cookies.set('googtrans', '/en/" . $this->session->data['language'] . "',{path:''});