Нужно было быстро и дёшево сделать магазин. Вот и столкнулся я с этой бедой под названием VirtueMart.
В целом впечатления неплохие, учитывая то, что это OpenSource... Но нашёлся один неудобный баг. Заключается он в следующем. В целом в компоненте существует своя система регистрации пользователей (покупателей), и хоть она и строиться на основании исходной системы регистрации Joomla тем не менее по идеи она должна заменять её, что в принципе и происходит.
Но нашёлся косяк... Либо не заметили, либо забыли, либо я первый маньяк кому понадобилось такое делать
.... не знаю... да это и не важно... Суть вот в чём... Каждой странице по умолчанию можно присваивать уровень доступа. И если вы выбираете доступ только для "Авторизированных", то неавторизированные пользователи будут видеть перед собой страницу входа... Вот тут то и косяк
При действующей интеграции магазина, если Вы измените уровень доступа пользователи будут видеть перед собой исходную страницу авторизации... Она то работает. Но ! Дополнительные функции не соответствуют нуждам. Если нажать на регистрацию то появиться окно регистрации исходной системы, а не магазина!
Рабочий файл этой фишки находиться здесь components/com_user/views/login/tmpl и называется он default.php
исходный его код выглядит так:
<?php defined('_JEXEC') or die('Restricted access'); ?>
<?php if ($this->params->get( 'show_page_title', 1)) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo $this->escape($this->params->get('page_title')); ?>
</div>
<?php endif; ?>
<?php echo $this->loadTemplate($this->type); ?>
Вариантов несколько:
- вручную перенаправлять на блок авторизации магазина;
- калечить код
Я Выбрал второе... и написал следуюющее:
<?php defined('_JEXEC') or die('Restricted access'); ?>
<?php if ($this->params->get( 'show_page_title', 1)) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo '<div class="er-log">ДЛЯ ПРОСМОТРА НЕОБХОДИМО ВОЙТИ ИЛИ ЗАРЕГЕСТРИРОВАТЬСЯ !</div>';
echo '<div class="er-log"><ul><li>- для входа воспользуйтесь блоком ВХОД, расположенным слева;</li><li>- <a href="http://nowstroy.ru/index.php?option=com_virtuemart&page=shop.registration&Itemid=1">раздел регистрации</a></li></ul></div>';
?></div>
<?php endif; ?>
Как результат получилось довольно симпотично:
