首页 > 解决方案 > 将语言会话 ID 从一个域保留到下一个域

问题描述

我有两个多语言网站。主站点和商店站点。在主站点详细信息页面上有一个“在商店中查找”按钮。按下按钮时,无论主页上设置的语言是什么,商店页面都会以默认语言(预期)打开产品详细信息页面。

重定向到商店网站时,有没有办法传递语言的会话设置?

<?php
if (!session_id()) session_start();
if (!isset($_SESSION['languageID'])) {
$_SESSION['languageID'] = 1;//default value
}
?>
<?php
if (array_key_exists('german_x', $_POST)) {            
$_SESSION['languageID'] = 1;
} else if (array_key_exists('english_x', $_POST)) {
$_SESSION['languageID'] = 2;
} else if (array_key_exists('french_x', $_POST)) {
$_SESSION['languageID'] = 3;
} else if (array_key_exists('spanish_x', $_POST)) {
$_SESSION['languageID'] = 4;
} 
?>

在商店中查找按钮的 URL 如下所示:

<a href="http://www.nameofshop.eu/detail.php?recordID=<?php echo $row_rsDetail['product_id']; ?>" target="_new"><input type="submit" name="goToShop" value="Find in store" /></a>

标签: sessioncross-domain

解决方案


没有得到任何答案,所以我有创意。也许不是最好的或传统的方式,但这是我所做的,也许它会帮助别人:

一些语言内容是通过包含完成的。我创建了一个带有详细页面链接的 html 页面,该页面的语言会话设置为所需的语言。因此,当英语会话运行时,它会调用 detail_en.php,而西班牙语会调用 detail_es.php 等。

这是链接的样子:

<a href="<?php include ('includes/'.$folder.'/findinstore.html');?>" target="_new"><input type="submit" name="goToShop" value="<?php echo $row_rscontent13['description15']; ?>" /></a>

推荐阅读