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

Plosky

  • Захожу иногда
  • 106
  • 2 / 0
Он срабатывает только если выключить и снова включить галку (по умолчанию включена). Поэтому если просто заполнить все поля и подтвердив заказ, система ругается и выдает ошибку, мол не все поля заполнены.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
*

Plosky

  • Захожу иногда
  • 106
  • 2 / 0
Никто не знает? Может так понятнее:



сайт: 7vitamin.ru
« Последнее редактирование: 21.08.2014, 10:11:05 от Plosky »
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
*

Тренд

  • Захожу иногда
  • 59
  • 6 / 0
Так сложно сказать, надо код смотреть.
Предполагаю:
При формировании формы на чекбокс ставится параметр checked, а скрип принимающий форму ждет получения в формате checked=true.
Возможно еще и JS обрабатывает форму перед отправкой, возможно он и какие-то скрытые поля попутно обновляет, которые срабатывают, только если отменить чекбокс и потом заново его включить.
Можно много сделать догадок.
Я бы в получаемом скрипте сделал вывод в браузер принимаемых параметров и сравнил, в чем их отличие в обоих случаях. Отличия точно должны быть и задача потом их устранить.
*

Plosky

  • Захожу иногда
  • 106
  • 2 / 0
Тренд, вообще происходит следующий алгоритм: поля для адреса доставки копируются из основных полей (что на скрине выше) в момент ручного включения чекбокса! А по логике должны копироваться в момент подтверждения заказа. Как можно это исправить?
Для меня и не важны эти данные для доставки, они ведь все равно дублируются из контактной информации, просто система не дает пользователю оформить заказ.

Кстати, используется плагин "One Page Checkout". Все что он делает, это автоматически ставит галку "Использовать для адреса 'Куда' данные адреса плательщика" для того чтобы покупатель не заполнял одни и те же поля дважды.
« Последнее редактирование: 21.08.2014, 10:36:06 от Plosky »
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
*

Plosky

  • Захожу иногда
  • 106
  • 2 / 0
РЕШЕНО! Проблема была в редактировании файла корзины, я в нем таблицу с выбранными товарами поставил вверх страницы, а поля для адресов ниже. Визуально все отлично сработало, не понятно только почему потянуло за собой такой баг. Видимо для алгоритма выполнения кода важна именно такая очередность.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
*

Plosky

  • Захожу иногда
  • 106
  • 2 / 0
Все же проблема актуальна. При заполнении всех полей и подтвердив заказ, система ругается, что не заполнено поле телефон! Хотя оно заполнено. И в настройках "Поля, заполняемые пользователями" убрал чекбокс "Показать при выборе доставки" для телефона - не помогло. В чем может быть дело?

Плюс еще проблема в том, что эти скрытые поля использующиеся для адреса доставки мешают работе, например, я решил оформить еще один заказ, но указав при этом другую контактную информацию и после нажатия подтвердить, новый заказ формируется со старыми данными из предыдущего заказа! Видимо они берутся из этих скрытых полей. Помогите решить проблему.
« Последнее редактирование: 22.08.2014, 11:38:56 от Plosky »
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
*

Plosky

  • Захожу иногда
  • 106
  • 2 / 0
Решено! :D *DRINK*

Решение:
открываем файл /ваш шаблон/html/com_virtuemart/cart/defaut.php

ищем в начале файла код:
JHtml::_('behavior.formvalidation');
$document = &JFactory::getDocument();
$document->addScriptDeclaration("
   jQuery(document).ready(function($) {
      $('div#full-tos').hide();
      $('span.terms-of-service').click( function(){
         //$.facebox({ span: '#full-tos' });

вставляем после него следующий код:
   $('.billto-shipto input[type=\"text\"]').change(function(){ update_form(); });

Сохраняем, закрываем. Теперь скрытые поля для доставки будут брать информацию из основных полей при каждом изменении формы. Соответственно эта заплатка решает следующие проблемы:
  • Цитировать
    после заполнения всех полей и нажатия на кнопку «оформить заказ», перекидывает на страницу «Ваши данные» где опять нужно заполнить поля и только тогда оформлять заказ.
  • Цитировать
    эти скрытые поля использующиеся для адреса доставки мешают работе, например, я решил оформить еще один заказ, но указав при этом другую контактную информацию и после нажатия подтвердить, новый заказ формируется со старыми данными из предыдущего заказа! Видимо они берутся из этих скрытых полей.

Но даже после этой заплатки, система все равно ругалась, что не заполнено поле телефон, хотя оно заполнено. Решил проблему так:
Не понял алгоритма, но суть в том, что VirtueMart почему-то ругается на некоторые поля, поле для Телефона в том числе. Экспериментальным путем выявил поле, на которое система не ругалась (одно из полей для адреса) переименовал его в "телефон" и все. ;)
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
*

kampotix

  • Новичок
  • 3
  • 0 / 0
Это поле Address Nickname
Спасибо огромное
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает регистрация пользователей VM3

Автор doublehead

Ответов: 2
Просмотров: 185
Последний ответ 17.02.2018, 20:45:46
от nden
Не работает окно добавлено в корзину

Автор dimasan57

Ответов: 7
Просмотров: 187
Последний ответ 24.01.2018, 22:00:39
от ProtectYourSite
Не работает оформление заказа товара

Автор asterixxl

Ответов: 3
Просмотров: 501
Последний ответ 31.01.2017, 17:39:53
от TipoGraff
Выбор типа плательщика при оформлении заказа

Автор forzi

Ответов: 8
Просмотров: 330
Последний ответ 02.11.2016, 20:55:41
от gartes
Кривые данные в Экспорте заказов

Автор stardel

Ответов: 0
Просмотров: 195
Последний ответ 11.10.2016, 18:26:50
от stardel