geval 3 Опубликовано 27 ноября, 2007 Жалоба Share Опубликовано 27 ноября, 2007 в общем такая ситуация- есть к примеру поле почтового индекса..стоит красная галка- мол обязательное заполнение.. а если человек заказывает доставку по своему же городу и спешит как суслик ( такое не редкость в москве)- он просто не видит этой формы- все заполнил нажал..и хоп..остался тут же- с надписью вы не заполнили все поля.. разозлился и убежал.. отсюда вывод- надо найти возможность- убирать обязательность заполения каких либо полей.. скажем имя обязательно- а фамилию нет.. тоже самое с индексом.. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 27 ноября, 2007 Жалоба Share Опубликовано 27 ноября, 2007 Это в файле /create_account.php Попробуй заменить: if (ACCOUNT_POSTCODE == 'true') { if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_POST_CODE_ERROR); } }[/code] на: [code]// if (ACCOUNT_POSTCODE == 'true') {// if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {// $error = true;//// $messageStack->add('create_account', ENTRY_POST_CODE_ERROR);// }// } Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 30 января, 2008 Жалоба Share Опубликовано 30 января, 2008 Вопрос обратный - как сделать поля обязательными для заполнения. Например поле Компания. Также установил модуль для дополнительных полей при регистрации клиента. Новые поля получаются не обязательными. Как их тоже делать обязательными? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 января, 2008 Жалоба Share Опубликовано 30 января, 2008 Это тоже только руками в crete_account.php добавлять проверку, по типу кода выше, для поля компания примерно так наверное: if (ACCOUNT_COMPANY == 'true') { if (strlen($company) < ENTRY_COMPANY_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_COMPANY_ERROR); } }[/code]В базу данных, в таблицу configuration нужно добавить ENTRY_COMPANY_MIN_LENGTH, по примеру ENTRY_POSTCODE_MIN_LENGTH, это будет новая опция в Админке - Настройки - Основные - Минимульные значения, добавить тексты для этой новой опции в /lang/russian/admin/configuration.phpДобавить * в /lang/russian/russian.php в константе ENTRY_COMPANY_ERRORВот как-то так.т.е. придётся лазить по файлам, по языковым файлам, по базе данных. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 30 января, 2008 Жалоба Share Опубликовано 30 января, 2008 Спасибо, работает, только как еще добавить подсветку этой ошибки и восклицательный знак. Сейчас название ошибки выводит вверху - делать внизу не обязательно. Каким кодом выводится подсветка ошибки? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 В /create_account.php есть такая строка: vam_draw_hidden_field('required', gender,firstname,lastname,dob,email,address,postcode,city,state,country,telephone,pass,confirmation', 'id="required"'));[/code] Это список полей, обязательных для заполнения, список id кодов полей, вот добавь в него company. А затем в метке, где определяется поле формы компании: [code] $vamTemplate->assign('INPUT_COMPANY', vam_draw_input_fieldNote(array ('name' => 'company', 'text' => ' '. (vam_not_null(ENTRY_COMPANY_TEXT) ? '<span class="Requirement">'.ENTRY_COMPANY_TEXT.'</span>' : '')))); Добавь параметр id="company". Вот так: $vamTemplate->assign('INPUT_COMPANY', vam_draw_input_fieldNote(array ('name' => 'company', 'text' => ' '. (vam_not_null(ENTRY_COMPANY_TEXT) ? '<span class="Requirement">'.ENTRY_COMPANY_TEXT.'</span>' : '')), '', 'id="company"'));[/code]По идее, будет ошибка внизу выводиться, если поле компания не заполнено.Попробуй. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Получилось так как на скриншоте, почему-то не срабатывает яваскрипт ошибки.Выдает когда только вносиш company в список полей, обязательных для заполнения, список id кодов полей. Может где-то еще что-то есть? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 А что за шаблон у тебя, где взял?! Дай ссылку на магазин, попробую глянуть. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Саша на локалке, поэтому даю скриншот. Шаблон original, только переделанный - на дивах, без таблиц Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Странно, а по умолчанию ошибки как, также отображаются, если ничего не править в файлах?! или поля формы красным подсвечиваются? Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Когда не править, все подсвечивается и ошибки отображаются. Попробую сейчас сделать скриншот. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 А, я забыл ещё пару изменений. Сделай всё тоже самое + ещё в /templates/vamshop/module/create_account.html замени: <p>{#text_company#} {$INPUT_COMPANY}</p>[/code] на: [code]<p><label for="company" title="{$ENTRY_COMPANY_ERROR}">{#text_company#}</label> {$INPUT_COMPANY}</p> а также в /includes/form_check.js.php добавь: if(f.name=='company' && f.value.length<<?php echo ENTRY_COMPANY_MIN_LENGTH; ?> && f.id!='email'){cf_adderr(f)} [/code] после: [code] if(f.name=='city' && f.value.length<<?php echo ENTRY_CITY_MIN_LENGTH; ?> && f.id!='email'){cf_adderr(f)} Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Все равно как на самом первом скриншоте. Прикрепил файл - может будет время - посмотришь? create_account.php Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Давай с самого начала, вот что я делал: 1. В /includes/form_check.js.php замени: if(f.name=='postcode' && f.value.length<<?php echo ENTRY_POSTCODE_MIN_LENGTH; ?> && f.id!='email'){cf_adderr(f)} [/code] на: [code] if(f.name=='postcode' && f.value.length<<?php echo ENTRY_POSTCODE_MIN_LENGTH; ?> && f.id!='email'){cf_adderr(f)} if(f.name=='company' && f.value.length<<?php echo ENTRY_COMPANY_MIN_LENGTH; ?> && f.id!='email'){cf_adderr(f)} 2. В /lang/russian/russian.php замени: define('ENTRY_COMPANY_ERROR', '');define('ENTRY_COMPANY_TEXT', '');[/code] на: [code]define('ENTRY_COMPANY_ERROR', 'Укажите компанию.');define('ENTRY_COMPANY_TEXT', '*'); 3. В /templates/шаблон/module/create_account.html замени: <p>{#text_company#} {$INPUT_COMPANY}</p>[/code] на: [code]<p><label for="comp" title="{$ENTRY_COMPANY_ERROR}">{#text_company#}</label> {$INPUT_COMPANY}</p> 4. В /create_account.php замени: vam_draw_hidden_field('action', 'process') . vam_draw_hidden_field('required', 'gender,firstname,lastname,dob,email,address,postcode,city,state,country,telephone,pass,confirmation', 'id="required"')[/code] на: [code]vam_draw_hidden_field('action', 'process') . vam_draw_hidden_field('required', 'gender,firstname,lastname,comp,dob,email,address,postcode,city,state,country,telephone,pass,confirmation', 'id="required"') замени: $vamTemplate->assign('INPUT_COMPANY', vam_draw_input_fieldNote(array ('name' => 'company', 'text' => ' '. (vam_not_null(ENTRY_COMPANY_TEXT) ? '<span class="Requirement">'.ENTRY_COMPANY_TEXT.'</span>' : ''))));[/code] на: [code] $vamTemplate->assign('INPUT_COMPANY', vam_draw_input_fieldNote(array ('name' => 'company', 'text' => ' '. (vam_not_null(ENTRY_COMPANY_TEXT) ? '<span class="Requirement">'.ENTRY_COMPANY_TEXT.'</span>' : '')), '', 'id="comp"')); У меня работает! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Вот скрин Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Саша спасибо! У тебя все красиво получилось. Все равно не работает, пробовал в 3 браузерах. js включен. Попробую еще вечером, дома, все переделать с чистого листа. Может еще модуль доп полей как-то влияет. По результатам отпишусь. Извини за беспокойство! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 января, 2008 Жалоба Share Опубликовано 31 января, 2008 Проверь ещё раз, всё ли ты правильно исправляешь. Я ж вот писал и делал параллельно, всё вроде нормально, сделай только то, что я написал вот в послденем сообщении, всё, что выше, можно не делать. Доп. поля не должны влиять, по идее. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 1 февраля, 2008 Жалоба Share Опубликовано 1 февраля, 2008 Действительно сделал ошибки, исправил, но работает только в Мозилле. В опере и ie не хочет. В опере js был действительно не включен, включил, но все равно не фунциклирует, может в кешах где то сохранилось. Забросил на сервер, ссылку скинул тебе в личные - посмотри если у тебя есть опера и ie. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2008 Жалоба Share Опубликовано 1 февраля, 2008 А ты в create_account.php больше ничего не правил? В /includes/header.php form_check.js.php Ничего больше не правил?! А попробуй всего поля включить в Админке - Настройки - Основные - Данные клиента. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 1 февраля, 2008 Жалоба Share Опубликовано 1 февраля, 2008 Да нет ничего не правил. Включил все поля - в ie не работает, в мозилле нормально. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 февраля, 2008 Жалоба Share Опубликовано 1 февраля, 2008 matvey А скинь ещё раз ссылку в приват, удалил сообщение ненароком. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 1 февраля, 2008 Жалоба Share Опубликовано 1 февраля, 2008 Скинул Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 3 февраля, 2008 Жалоба Share Опубликовано 3 февраля, 2008 Не правил. Пробовал также на локалке устанавливать чистую версию VamShop. Все таже ошибка. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 3 февраля, 2008 Жалоба Share Опубликовано 3 февраля, 2008 Сейчас тогда тоже с нуля попробую поправить и посмотреть в ie. Ссылка на сообщение Поделиться на другие сайты
matvey 0 Опубликовано 3 февраля, 2008 Жалоба Share Опубликовано 3 февраля, 2008 Только что еще раз установил. IE и Opera не работает, мозилла - нормально. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения