Категории |
Как справится с обязательными полями при регистрации?Друзья, кто знает как убрать какое-либо поле из обязательных при регистрации, например e-mail(у тех кому за 40 далеко не всегда он есть). правки create_account.php не помогают!!! А как вы хотите без мыла регаться? мыло здесь ввиде логина идет. а вы считаете что при быстром оформлении, когда запись учетн ая не создается людям у которых может быть нет email тоже нужно его указывать? это неверно если нету мыла, че ж по магазам лазить и товары заказывать? Кто-то же подтолкнул человека "без мыла" сесть за комп и покупать товары в online магазине где оформление заказа сложнее чем регистрация почты? GansICH, что вы нaзывaeтe быстрым зaкaзом?тот который нa одной стрaницe?дык тaм всё сохрaняeтся!a eсли чeрeз якобы укорочeнную форму, нaзывaeмую гостeвой aккaунт? То тожe сохрaняeтся,eсли опцию нe выстaвить. GansICH я сделал таким образом быстрый заказ. Способ конечно не очень правильный, но работает. if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) { $error = true; $messageStack->add('checkout_alternative', ENTRY_EMAIL_ADDRESS_ERROR); } elseif (os_validate_email($email_address) == false) { $error = true; $messageStack->add('checkout_alternative', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } else { $check_email_query = os_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".os_db_input($email_address)."' and account_type = '0'"); $check_email = os_db_fetch_array($check_email_query); if ($check_email['total'] > 0) { $error = true; меняем на if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) { $error = false; $messageStack->add('checkout_alternative', ENTRY_EMAIL_ADDRESS_ERROR); } elseif (os_validate_email($email_address) == false) { $error = false; $messageStack->add('checkout_alternative', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } else { $check_email_query = os_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".os_db_input($email_address)."' and account_type = '0'"); $check_email = os_db_fetch_array($check_email_query); if ($check_email['total'] > 0) { $error = false; находим строку if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) { $error = true; $messageStack->add('checkout_alternative', ENTRY_PASSWORD_ERROR); } elseif ($password != $confirmation) { $error = true; меняем на if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) { $error = false; $messageStack->add('checkout_alternative', ENTRY_PASSWORD_ERROR); } elseif ($password != $confirmation) { $error = false; находим строку if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) { $error = true; меняем на if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) { $error = false; В шаблоне редактируем файл checkout_alternative.html удаляем следующие строки <tr> <td class="main"><label for="lastname" title="{$ENTRY_LAST_NAME_ERROR}">{#text_lastname#}</label></td> <td class="inputRequirement">{$INPUT_LASTNAME}</td> </tr> и <tr> <td class="main"><label for="email" title="{$ENTRY_EMAIL_ADDRESS_ERROR}">{#text_email#}</label></td> <td class="inputRequirement">{$INPUT_EMAIL}</td> </tr> <tr> <td class="main"><strong>{#title_password#}</strong></td> </tr> <table class="formArea" width="100%" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="200" class="main"><label for="pass" title="{$ENTRY_PASSWORD_ERROR}">{#text_password#}</label></td> <td class="inputRequirement">{$INPUT_PASSWORD}</td> </tr> <tr> <td class="main"><label for="confirmation" title="{$ENTRY_PASSWORD_ERROR_NOT_MATCHING}">{#text_confirmation#}</label></td> <td class="inputRequirement">{$INPUT_CONFIRMATION}</td> </tr> </table> Получилось следующее спасибо большое только to TPEHEP, единственный человек который ответил по делу Вы и назвали бы тему -Как убрать обязательные поля при быстром заказе, - я бы сразу код дал. Согласен с NeBox, путаете термины, а когда у вас уточняют ругаетесь. ок, давайте не будем ругаться, решение найдено и Слава Богу! Вы и назвали бы тему -Как убрать обязательные поля при быстром заказе, - я бы сразу код дал. А тема называется - Как справится с обязательными полями при регистрации? Регистрация и быстрый заказ - разные вещи. ПО этому и было интересно услышать ваше мнение. Но вы промолчали. TPEHEP, спасибо за код. у меня малость по другому. твой получшее) я вообще закомментировал проверки мыла и паролей. А чем этот вы считаете получше чем просто закомментирровать проверки мыла и пароля? ИМХО эту тему нужно либо прикрепить либо в FAQ отправить, многие кому интересно как же убрать доп. поля при быстром заказе. Спасибо огромное TPEHEP, одной проблемой меньше стало. Теперь бы ещё вот с этим разобраться http://www.shopos.ru/forum/index.php?topic=4924.0 и было бы ваще шикарно. Вы и назвали бы тему -Как убрать обязательные поля при быстром заказе, - я бы сразу код дал. А тема называется - Как справится с обязательными полями при регистрации? Регистрация и быстрый заказ - разные вещи. ПО этому и было интересно услышать ваше мнение. Но вы промолчали. TPEHEP, спасибо за код. у меня малость по другому. твой получшее) я вообще закомментировал проверки мыла и паролей. А чем этот вы считаете получше чем просто закомментирровать проверки мыла и пароля? я сравнивал со своим, где половина закомментирована была. у него проще просто. Вариант Тренера отличный,но есть проблема. После подтверждения заказа "бокс входа" пропадает. Можно как то эту проблему победить? Сделал все как описал ТРЕНЕР, после оформления заказа выдается сообщение невозможно отправить e-mail в пустом окне. Не удалось отправить email. Ошибка: Невозможно запустить функцию mail. Не удалось отправить email. Ошибка: Невозможно запустить функцию mail. Больше ни у кого эта хрень не вылезала? Убрать Не удалось отправить email. и Ошибка: в lang'е походу можно.А Невозможно запустить функцию mail. как?Причин может быть много, например: Причин может быть много, например: 1. Неверные параметры почты. 2. Неверный адрес 3. Причины, связанные с настройками хостинга 1, 2, 3 До того как отредактировал указанным образом, все работало. Так что вряд ли. Когда тестирую на shopos-portable, все работает. Выдает обычное "Мы получили Ваш заказ и т.д." Там правда free-shopos. Может с этим как-то связано... помогите! При этом, заказ приходит мне на почту нормально. Нашел-таки решение! ) if (!$mail->Send()) { echo TEXT_PHP_MAILER_ERROR; echo TEXT_PHP_MAILER_ERROR1 . $mail->ErrorInfo; exit; } заменить на // if (!$mail->Send()) // { // echo TEXT_PHP_MAILER_ERROR; // echo TEXT_PHP_MAILER_ERROR1 . $mail->ErrorInfo; // exit; // } достаточно просто // echo TEXT_PHP_MAILER_ERROR; // echo TEXT_PHP_MAILER_ERROR1 . $mail->ErrorInfo; // exit; достаточно просто // echo TEXT_PHP_MAILER_ERROR; // echo TEXT_PHP_MAILER_ERROR1 . $mail->ErrorInfo; // exit; Да, именно так, спасибо! А то в моем варианте на почту заказ не приходит. Друзья я только три дня шопосом пользуюсь! Как в бланке регистрации, рядом с графой телефон добписать: (номер телефона указывать в федеральном формате) ? Также как пример адреса рядом с графой адрес! Подскажите пожалуйста! Попробуйте в langs/ru/lang.php я вроде там менял :) Друзья я только три дня шопосом пользуюсь! Как в бланке регистрации, рядом с графой телефон добписать: (номер телефона указывать в федеральном формате) ? Также как пример адреса рядом с графой адрес! Подскажите пожалуйста! \langs\ru\lang.php было define('ENTRY_TELEPHONE_NUMBER_TEXT','* '); стало define('ENTRY_TELEPHONE_NUMBER_TEXT','* (номер телефона указывать в федеральном формате)'); |
|