Ответить Новая тема Новый опрос 
Всего: 2 < 1 2
 Отображение цены в режиме каталога
VM
Новичок
Сообщений: 3
Регистрация: 15-12-2012


29-05-2016 20:17
Уважаемый гуру Алекс,
возможно ли управлять состоянием переменной $PS_CATALOG_MODE используя if logged?
По умолчанию магазин в режиме каталога, а после регистрации появляются цены и возможность положить товар в корзину
Это уменьшит появление брошеных корзин и анонимных клиентов
 
Вне форума
Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
mazapura
Новичок
Сообщений: 64
Регистрация: 30-10-2010


30-05-2016 00:48
У "гостей" (незарегистрированных) есть переменная $is_guest
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
VM
Новичок
Сообщений: 3
Регистрация: 15-12-2012


30-05-2016 01:59
Эта переменная для случая гостевой покупки без создания профиля покупателя.

Нужно найти способ изменить магазин находящийся в режиме каталога в нормально работающий магазин с показом цен и возможностью положить товар в корзину.

Вариант с изменением homefeatured.tpl, product.tpl, product-list.tpl уже осуществлен, но это грубое изменение кода.

Нужно найти более изящный способ управления состоянием переменной $PS_CATALOG_MODE в зависимости от действий покупателя.

Есть предложения от сообщества?


Цитата:( mazapura @ 29-05-2016 19:48 Смотреть сообщение )
У "гостей" (незарегистрированных) есть переменная $is_guest

 
Вне форума
Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
VM
Новичок
Сообщений: 3
Регистрация: 15-12-2012


04-06-2016 23:30
[quote=VM,29-05-2016 15:17,pid52362]
Уважаемый гуру Алекс,
возможно ли управлять состоянием переменной $PS_CATALOG_MODE используя if logged?

Собственный ответ

Разместил код в подвале страницы.
Магазин по умолчанию в режиме каталога
После регистрации клиента не происходит изменение режима
Где ошибка ?

<!- switch to catalog -->
<div id="catalog" style="display:none;">
{* if no logged set PS_CATALOG_MODE = 1 *}
{if !$logged}
$query = "UPDATE `"._DB_PREFIX_."ps_configuration` SET value="1." WHERE id_configuration="106.";";
Db::getInstance()->Execute($query);
{/if}
<!- switch to shop -->
{* if logged set PS_CATALOG_MODE = 0 *}
{if $logged}
$query = "UPDATE `"._DB_PREFIX_."ps_configuration` SET value="0." WHERE id_configuration="106.";";
Db::getInstance()->Execute($query);
{/if}
</div>{* end id catalog *}
<!- end switch catalog -->

 
Вне форума
Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


06-06-2016 01:50
Цитата:( VM @ 05-06-2016 00:30 Смотреть сообщение )
Разместил код в подвале страницы.
Бред :lsshok: (не пользуйтесь подобным кодом!).

Цитата:( VM @ 29-05-2016 21:17 Смотреть сообщение )
возможно ли управлять состоянием переменной $PS_CATALOG_MODE используя if logged?
По умолчанию магазин в режиме каталога, а после регистрации появляются цены и возможность положить товар в корзину
Откройте файл /classes/controller/FrontController.php
Код:
'PS_CATALOG_MODE' => (bool)Configuration::get('PS_CATALOG_MODE') || !(bool)Group::getCurrent()->show_prices,
замените на:
Код:
'PS_CATALOG_MODE' => $this->context->customer->logged ? 0 : 1,

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 < 1 2