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

denism300

  • Захожу иногда
  • 141
  • 3 / 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
  • 2599
  • 377 / 2
подскажите, как победить эту проблему?
1. дать ссылку
2. убрать точку - http://clip2net.com/s/3HVvbYr (если выше по коду этой переменной нет)
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

denism300

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

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

robert

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

denism300

  • Захожу иногда
  • 141
  • 3 / 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

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

robert

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

fsv

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

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

denism300

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

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

Способ оплаты HTML-форма (virtuemart 3.4)

Автор efree

Ответов: 0
Просмотров: 23
Последний ответ 21.10.2018, 11:50:19
от efree
FaceBook Pixel для VirtueMart

Автор JustRe1ax

Ответов: 0
Просмотров: 32
Последний ответ 09.10.2018, 15:00:37
от JustRe1ax
Проблема изза разных кодировок Joomla и VirtueMart

Автор fale

Ответов: 7
Просмотров: 126
Последний ответ 02.10.2018, 21:51:35
от fsv
Заголовок h1 на странице категории VirtueMart, отличающийся от названия кат-рии

Автор rsn

Ответов: 1
Просмотров: 172
Последний ответ 24.09.2018, 20:54:19
от rsn
[Решено] Баг с рейтингом товаров VirtueMart 3.0.16

Автор Strelok760

Ответов: 2
Просмотров: 334
Последний ответ 13.09.2018, 23:06:13
от bgg87