Задайте VM shoppergroup для гостей

Мне нужно настроить shoppergroup для гостевых пользователей на основе параметра региона (который они выбирают).

Я думал, что использование следующего внутри системного плагина (onAfterDispatch) будет работать:

// Getting a registered user and piggy-backing on that.
$user = JFactory::getUser(801);
/** @var TableVmusers $vm_user */
$vm_user_model = new VirtueMartModelUser();
$vm_user = $vm_user_model->getUser();
$vm_user->JUser = $user;
$region = JFactory::$application->input->get('region');
$vm_user->shopper_groups = [0 => $region];

Но это не работает.

1 голос | спросил Anriëtte Myburgh 12 Maypm15 2015, 16:21:14

1 ответ


1

Я выяснил, что группы Shopper полностью связаны с зарегистрированным пользователем и не могут быть обработаны в стеке событий (даже с системным плагином). Вы должны войти в систему как пользователь, и этому пользователю должна быть назначена группа покупателей внутри компонента Virtuemart.

Итак, в конце концов, я создал пользователя для каждой из групп покупателей, которые я хотел использовать, а затем с помощью плагина я вручную зарегистрировал своего гостя в качестве этого пользователя и получил правильные цены Shopper Group.

Ужасная работа вокруг, но я все еще не уверен, что есть другой способ.

ответил Anriëtte Myburgh 19 Maypm15 2015, 12:31:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132