0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 507 Просмотров
*

denism300

  • Захожу иногда
  • 180
  • 5 / 0
Пишу небольшое дополнение к ВМ-3, столкнулся с такой проблемой: в карточке товара я вывожу свою кнопку, при нажатии на которую неавторизированный пользователь должен перенаправится на страницу авторизации и в случае успешной авторизиции редиректнуться обратно для выполнения последующего алгоритма.

собственно, код кнопки:
Код: php
$joomlaLoginUrl = JURI::root(). JRoute::_('index.php?option=com_users&view=login', true);
$joomlaLoginUrl = str_replace(array('//', 'http:/', '/index.php'), array('/', 'http://', ''), $joomlaLoginUrl);
$finalUrl = $joomlaLoginUrl;// . $redirectUrl;
$addbtn .= '<a href="'.$finalUrl.'" alt="Login" title="Login">';
$addbtn .= '<button class="addbtn_btn"';
$addbtn .= 'value="" name="addbtn" title="title_btn">КНОПКА</button></a>';

ссылка формируется правильно, http://mysite/login, т.к. для страницы авторизации создан пункт меню с алиасом login

однако, при клике по кнопке в карточке товара перебрасывает не на страницу авторизации, а в пустую корзину ВМ. адрес ссылки при этом становится http://mysite/index.php/product-attributes/default-product-detail#
естественно, от категории и названия товара, в карточке которого было совершено нажатие, эта часть ссылки: /product-attributes/default-product-detail меняется.

подскажите, как победить эту проблему?
*

fsv

  • Moderator
  • 2631
  • 382 / 2
подскажите, как победить эту проблему?
1. дать ссылку
2. убрать точку - http://clip2net.com/s/3HVvbYr (если выше по коду этой переменной нет)
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

denism300

  • Захожу иногда
  • 180
  • 5 / 0
1. дать ссылку
2. убрать точку - http://clip2net.com/s/3HVvbYr (если выше по коду этой переменной нет)
1. ссылку дать не могу - на локалке
2. код выше есть, это лишь часть

HTML код генерируется правильно, я подозреваю, что тут в роутере ВМ загвоздка.
*

robert

  • Живу я здесь
  • 4695
  • 432 / 17
- Почему вы так уверены, что проблема кроется именно в том куске кода, который вы привели?
- Кому нужны ваши домыслы, если вы сами не могли свою проблему решить?
Приведите все детали без комментариев, заинтересованные сами найдут причину ошибки.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 180
  • 5 / 0
- Почему вы так уверены, что проблема кроется именно в том куске кода, который вы привели?
потому что код до приведенного куска выполняет действие для авторизованного пользователя, и этот код работает корректно.

Код: php
$user = JFactory::getUser();
......
$addbtn = '<span class="addbtn_box">';
if (!$user->guest) {
......
}
else {
// $redirectUrl = '&return='.$redirectUrl;
$joomlaLoginUrl = JURI::root(). JRoute::_('index.php?option=com_users&view=login', true);
$joomlaLoginUrl = str_replace(array('//', 'http:/', '/index.php'), array('/', 'http://', ''), $joomlaLoginUrl);
$finalUrl = $joomlaLoginUrl;// . $redirectUrl;
$addbtn .= '<a href="'.$finalUrl.'" alt="Login" title="Login">';
$addbtn .= '<button class="addbtn_btn"';
$addbtn .= 'value="" name="addbtn" title="title_btn">КНОПКА</button></a>';
}
echo $addbtn . '</span>';

полученный код HTML
Код: html
<span class="addbtn_box">
<a href="http://mysite/component/users/?view=login" alt="Login" title="Login">
<button class="addbtn_btn" value="" name="addbtn" title="title_btn">КНОПКА</button>
</a>
</span>
*

denism300

  • Захожу иногда
  • 180
  • 5 / 0
причем, если кликнуть по кнопке правой кнопкой и выбрать "открыть в новой вкладке", то все ок - открывается страница авторизации.
*

robert

  • Живу я здесь
  • 4695
  • 432 / 17
VirtueMart тут ни причем, потому что ссылка обрабатывается com_users.
А в приведенном вами куске кода не может быть ошибки, если только не ваша странная манипуляция с str_replace.
Но ссылка правильная, так что, скорее всего, дело в каком-нибудь скрипте, который срабатывает на клик.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Moderator
  • 2631
  • 382 / 2
причем, если кликнуть по кнопке правой кнопкой и выбрать "открыть в новой вкладке", то все ок - открывается страница авторизации.
Поэтому и было сказано дать ссылку. Есть бесплатные хостинги для временного размещения сайта.
Надоело каждому повторять это. Ваша проблема - это только ваша проблема.

Один раз погадаю: достаньте вашу кнопку из формы корзины.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

denism300

  • Захожу иногда
  • 180
  • 5 / 0
Поэтому и было сказано дать ссылку. Есть бесплатные хостинги для временного размещения сайта.
Надоело каждому повторять это. Ваша проблема - это только ваша проблема.

Один раз погадаю: достаньте вашу кнопку из формы корзины.
Разобрался уже. Вы угадали - кнопка была до закрывающего тэга </form>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Массовое изменение названий и псевдонимов товаров VirtueMart

Автор rsn

Ответов: 3
Просмотров: 69
Последний ответ 22.04.2019, 11:21:53
от rsn
SJ Filter for VirtueMart не фильтрует товары

Автор sanek2281

Ответов: 3
Просмотров: 61
Последний ответ 21.04.2019, 16:06:27
от draff
Фильтр товаров VirtueMart Custom Filter - разобраться

Автор artem_wrong

Ответов: 0
Просмотров: 65
Последний ответ 03.04.2019, 17:47:37
от artem_wrong
Не могу назначить желаемый Title для главной VirtueMart 2.0

Автор Curt

Ответов: 17
Просмотров: 7490
Последний ответ 21.02.2019, 23:12:51
от fsv
Проблема с VirtueMart

Автор duck-man

Ответов: 5
Просмотров: 427
Последний ответ 19.02.2019, 17:54:11
от vetalist