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

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

denism300

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

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

robert

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

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

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

fsv

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

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

denism300

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

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

VirtueMart 3 ссылки на логин и регистрацию

Автор Ragivort

Ответов: 0
Просмотров: 25
Последний ответ 07.08.2018, 11:03:14
от Ragivort
Не работает fancybox в VirtueMart 3.2.8

Автор DJone

Ответов: 3
Просмотров: 150
Последний ответ 25.07.2018, 05:26:17
от DJone
Конфигурация оплаты и доставкы VirtueMart 2

Автор lxxnutsxxl

Ответов: 16
Просмотров: 1873
Последний ответ 04.07.2018, 23:53:07
от lexxbry
Как вывести модуль в страницу VirtueMart?

Автор harddrop

Ответов: 10
Просмотров: 431
Последний ответ 18.06.2018, 06:05:19
от harddrop
Нет метатэга description на главной VirtueMart 2

Автор alanbus

Ответов: 13
Просмотров: 1884
Последний ответ 16.06.2018, 03:10:04
от sanek2281