как использовать систему входа в prestashop с другими веб-страницами (вне магазина) на моем сайте?

Дорогие друзья, я установил prestashop на свой существующий веб-сайт. У моего текущего веб-сайта есть система входа, которую я уже создал.

Из-за установки prestashop для моей системы, я решил сменить существующий логин на prestashop.

Что касается документации prestashop, чтобы получить доступ к файлам cookie prestashop вне prestashop, я создал тестовую страницу для получения данных cookie следующим образом:

include_once('path_to_prestashop/config/config.inc.php');
include_once('path_to_prestashop/config/settings.inc.php');
include_once('path_to_prestashop/classes/Cookie.php');
$cookie = new Cookie('ps');
print_r($cookie);

Но это не работает, и браузер говорит

Содержит цикл перенаправления.

Я пытался отключить SEO friendly url а также cannonical url to no-direct как предложили некоторые посты.

Теперь, если я перехожу на тестовую страницу, она перенаправляет на индексную страницу prestashop, а скорее показывает данные cookie.

Что я должен сделать, чтобы преодолеть эту проблему?

Спасибо.

0

Решение

Когда вы включаете config/config.inc.php PrestaShop перенаправляет на домен магазина.

Следующий код вызывает это поведение в classes/shop/Shop.php:

$shop = new Shop($id_shop);
if (!Validate::isLoadedObject($shop) || !$shop->active)
{
// No shop found ... too bad, let's redirect to default shop
$default_shop = new Shop(Configuration::get('PS_SHOP_DEFAULT'));

// Hmm there is something really bad in your Prestashop !
if (!Validate::isLoadedObject($default_shop))
throw new PrestaShopException('Shop not found');

$params = $_GET;
unset($params['id_shop']);
$url = $default_shop->domain;
if (!Configuration::get('PS_REWRITING_SETTINGS'))
$url .= $default_shop->getBaseURI().'index.php?'.http_build_query($params);
else
{
// Catch url with subdomain "www"if (strpos($url, 'www.') === 0 && 'www.'.$_SERVER['HTTP_HOST'] === $url || $_SERVER['HTTP_HOST'] === 'www.'.$url)
$url .= $_SERVER['REQUEST_URI'];
else
$url .= $default_shop->getBaseURI();

if (count($params))
$url .= '?'.http_build_query($params);
}
$redirect_type = Configuration::get('PS_CANONICAL_REDIRECT') == 2 ? '301' : '302';
header('HTTP/1.0 '.$redirect_type.' Moved');
header('location: http://'.$url);
exit;
}

Вы можете переопределить Shop класс, чтобы отключить перенаправление для вашего скрипта.

Для этого сначала определите PS_DISABLE_SHOP_REDIRECT константа, прежде чем включить config/config.inc.php:

define('PS_DISABLE_SHOP_REDIRECT', true);

Затем вставьте следующий код перед предыдущим кодом в переопределенный класс:

if (defined('PS_DISABLE_SHOP_REDIRECT')) {
$id_shop = Configuration::get('PS_SHOP_DEFAULT');
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector