我正在集成 SugarCRM 和 Magento。我的要求是,当我单击 SugarCRM 中的链接时,它应该重定向到 Magento 管理面板订单创建。此外,当我重定向到 Magento 时,它不应该要求我登录。
我怎样才能做到这一点?
最佳答案
无缝登录 Sugar 非常简单。下面是创建绕过 Sugar 登录的链接的示例。当您登录 Magento 时,您可以登录 Sugar 并将 Sugar session 变量存储在服务器 session 变量或全局变量中。这是 SugarCRM URL 的格式
'http://localhost:8080/XXX/index.php?module=Accounts&action=DetailView&record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b$MSID
- http://localhost:8080/XXX/index.php - 网址
- module=Accounts(您要链接到的模块名称
- action=DetailView(您可以转到 DetailView 或 EditView)
- record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b(糖 ID 记录号)
- MSID=3979359348(无缝登录后获取的Session变量)
您必须扩展 Magento 才能将此信息添加到链接中。如果您将 MSID 存储在 session 变量中,那么您始终可以将 $_SESSION['MSID'] 附加到 URL
$user_name="admin";
$user_password="admin";
$soapClient = new SoapClient(NULL,
array(
"location" => 'http://localhost:8080/XXX/soap.php',
"uri" => 'http://localhost:8080/XXX',
)
);
try {
$info = $soapClient->login(
array(
'user_name' => $user_name,
'password' => md5($user_password),
)
);
}
catch (SoapFault $fault) {
die("Sorry, the service returned the following ERROR: ".$fault->faultcode."-".$fault->faultstring.".");
}
$session = $info->id;
$canlogin = $soapClient->seamless_login($session);
$MSID='';
if ($canlogin == 1)
$MSID = "&MSID=" . $session;
//echo "Successful Login! Session ID {$session}<br>";
echo "<a href='http://localhost:8080/XXX/index.php?module=Accounts&action=DetailView&record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b$MSID'>Account Name</a>";
卡兹
关于php - Sugarcrm magento 通用登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906431/