Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Как справится с обязательными полями при регистрации?

Друзья, кто знает как убрать какое-либо поле из обязательных при регистрации, например 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 я сделал таким образом быстрый заказ. Способ конечно не очень правильный, но работает.
Мне не нужно вводить email, не нужна Фамилия и нужно чтобы на одной странице можно было выбрать способ оплаты и доставки.
В админке включаем следующее:
Настройки-основное-данные покупателя-Вид регистрации ставим -boot
Настройки-разное-Разрешить модуль быстрого оформления заказа ставим -да
Настройки-основное-минимальные-Минимальное количество символов поля E-Mail адрес ставим =0
Минимальное количество символов поля Фамилия =0
Минимальное количество символов поля Пароль=0

Дальше открываем файл checkout_alternative.php и
находим строку

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, единственный человек который ответил по делу
to NeBox и ProRab: если бы меня интересовал вопрос - стоит или не стоит указывать email обязательным я б так тему и назвал! Прежде чем сорить! в теме ненужными бла-бла-бла задумайтесь в чем состоит ВОПРОС!


Вы и назвали бы тему -Как убрать обязательные поля при быстром заказе, -  я бы сразу код дал.
А тема называется - Как справится с обязательными полями при регистрации?
Регистрация и быстрый заказ - разные вещи. ПО этому и было интересно услышать ваше мнение. Но вы промолчали.

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. Причины, связанные с настройками хостинга


1, 2, 3 До того как отредактировал указанным образом, все работало. Так что вряд ли.

Когда тестирую на shopos-portable, все работает. Выдает обычное "Мы получили Ваш заказ и т.д."
Там правда free-shopos. Может с этим как-то связано...

помогите!


При этом, заказ приходит мне на почту нормально.
Есть подозрение, что все дело в checkout_process.php который проверяет e-mail покупателя в платной версии и не проверяет в бесплатной.  Но что конкретно исправить - пока не пойму!


Нашел-таки решение! )

Для платной версии

includes/lib/phpmailer/func.mail.php


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','* (номер телефона указывать в федеральном формате)');


Источник



Copyright ShopOS