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

denism300

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

denism300

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

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

robert

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

denism300

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

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

robert

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

fsv

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

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

denism300

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

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

Ссылки в родительском окне

Автор Leo1986

Ответов: 2
Просмотров: 76
Последний ответ 28.12.2018, 20:30:31
от Leo1986
Метаданные пункта меню в VirtueMart

Автор rsn

Ответов: 5
Просмотров: 202
Последний ответ 25.12.2018, 12:07:05
от rsn
Joomla+ VirtueMart страница 404 не отдает код 404

Автор Adrian1111

Ответов: 11
Просмотров: 2129
Последний ответ 24.12.2018, 10:58:17
от rsn
Как указать каноническую страницу rel="canonical" в VirtueMart?

Автор pbelosvet

Ответов: 0
Просмотров: 102
Последний ответ 10.12.2018, 13:10:02
от pbelosvet
Как настроить отправку писем при заказе VirtueMart с помощью Acymaling?

Автор Mm66

Ответов: 1
Просмотров: 104
Последний ответ 29.11.2018, 22:47:09
от lexxbry