Новости Joomla

Вышли релизы безопасности Joomla 6.1.1 и Joomla 5.4.6

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

Проект Joomla! рад сообщить о выходе Joomla 6.1.1 и Joomla 5.4.6. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

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

Dark Delphin

  • Новичок
  • 3
  • 0 / 0
При оформлении заказа без регистрации пользователь вводит контактные данные и переходит к следующему шагу. С этого момента вернуться к вводу этих данных повторно (в случае ошибки, например) практически невозможно (во всяком случае, я не нашел как).
Есть ли какие либо хаки/рекомендации/исправления, чтобы сделать возможным возврат к этому шагу?
Версия 1.1.7

Заранее спасибо.
*

Dark Delphin

  • Новичок
  • 3
  • 0 / 0
Проблему решил, но пока только через пятую точку.
Шаг заполнения формы пользовательских данных (который между корзиной и подтверждением заказа) пропускается после первого заполнения потому, что устанавливается авторизация пользователя (пусть и временная).
Т.е. выставляется $_SESSION['auth'] и там хранятся данные.
Чтобы вернусться к этому шагу, надо эти данные убить.

Мой метод: (топорный, если кто найдет как сделать элегантней - милости просим поделиться)
Для начала надо сохранить пользовательские данные, чтобы ему не надо было вводить все снова
я это делал на последнем шаге, т.е. в get_final_confirmation.tpl.php
Код
$_SESSION['user_id_backup'] = $_SESSION['auth']['user_id'];
$qr = "select * from jm_vm_user_info where user_id = ".$_SESSION['user_id_backup'];
$res = mysql_query($qr);
$userinfo = mysql_fetch_assoc($res);
$_SESSION['userinfo_backup'] = $userinfo;

Далее создается ссылка "отката назад" которая ведет на корзину и содержит дополнительный ключ сброса
Код
<a href="index.php?page=shop.cart&...блаблабла...всякие ключи...&reset=ok">Вернуться в вводу данных</a>

Да, это может быть не безопасно, но пока лучше не придумал. (я еще "зеленый")))
В корзине (в моем случае basket_b2c.html.php) код сброса данных и тут же редирект на следующий шаг
Код
if(isset($_GET['reset']) && ($_GET['reset'] == "ok"))
{
unset($_SESSION['auth']['user_id']);
header('Location: index.php?page=checkout.index&...блаблабла...куча ключей, для каждого случая свои...');
}
Теперь у нас есть данные пользователя и сброшена сессия; снова появится шаг с формой ввода данных, но поля пусты.
Восстанавливал я так
Код
echo '
<script type="text/javascript">
document.getElementById("vm_fio_field").value = "'.$_SESSION['userinfo_backup']['vm_fio'].'";
document.getElementById("email_field").value = "'.$_SESSION['userinfo_backup']['user_email'].'";
document.getElementById("address_type_name_field").value = "'.$_SESSION['userinfo_backup']['address_type_name'].'";
document.getElementById("city_field").value = "'.$_SESSION['userinfo_backup']['city'].'";
document.getElementById("vm_oblast_field").value = "'.$_SESSION['userinfo_backup']['vm_oblast'].'";
document.getElementById("zip_field").value = "'.$_SESSION['userinfo_backup']['zip'].'";
document.getElementById("phone_1_field").value = "'.$_SESSION['userinfo_backup']['phone_1'].'";
</script>';
Опять таки, поля для каждого свои, сделите за id элементов

Моментов, которые можно улучшить полно, пока это только направление, в котором можно поработать)
Надеюсь кому-нибудь пригодится.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отзывы и рейтинги без регистрации

Автор thatwhuch

Ответов: 25
Просмотров: 15532
Последний ответ 23.11.2013, 21:25:22
от ovel
Возврат на сайт после редактирования

Автор Александр216

Ответов: 0
Просмотров: 1300
Последний ответ 22.03.2013, 10:19:38
от Александр216
ищу решение раздельной регистрации физического и юридического лица для Joomla 1.5.23 + VirtueMart

Автор ArtShatov

Ответов: 20
Просмотров: 7365
Последний ответ 09.03.2013, 18:49:23
от Alex NET
Покупка без регистрации VirtueMart 1.1.4

Автор katjuha6

Ответов: 0
Просмотров: 1779
Последний ответ 20.01.2013, 20:58:35
от katjuha6
Проверка повтора email в форме регистрации магазина

Автор robert

Ответов: 1
Просмотров: 2396
Последний ответ 23.12.2012, 20:25:21
от robert