Перейти к содержанию
Форум поддержки пользователей VamShop

Дополнительные поля в форму Свяжитесь с нами (contact_us)


Рекомендуемые сообщения

Александр, подскажи, пожалуйста, а как можно добавить дополнительные поля в форму "Свяжитесь с нами"?

В стандартной форме есть поля:

- Ваше имя

- Ваш E-mail

- Ваше сообщение

А хотелось бы после поля "Ваше имя" добавить еще 2 поля:

- Ваша компания

- Ваш телефон

Какие файлы и как нужно править (кроме файла шаблона)?

Заранее большое спасибо за ответ!


Кстати, я еще пытался решить эту задачу другим путем - вместо стандартной формы "свяжитесь с нами" хотел использовать форму быстрой регистрации, удалив все ненужные поля и через "Дополнительные поля покупатерей" добавив 1 поле TEXTAREA (текст сообщения). Но тогда как-то нужно реализовать ОТПРАВКУ письма о регистрации пользователя со всеми этими полями (включая дополнительное TEXTAREA (ибо, насколько я понимаю, письмо о регистрации пользователя не приходит, если он не делает заказ. А заказ он сделать не сможет, т.к. у меня не интернет-магазин, а обычный сайт на основе Vam.SHop).

Как сделать, чтобы при прохождении новым пользователем процедуры "быстрой регистрации" все поля нового покупателя отправлялись на емэйл?

Спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Нужно правит:

/shop_content.php

/templates/шаблон/module/contact_us.html

Без правки кода в любом случае никак не получится.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо за столь оперативный ответ, Александр!

Однако все равно не совсем понятно что конкретно там править. Я интуитивно правил эти 2 файла.

В шаблоне /modules/contact_us.html вставил следующее:

{$FORM_ACTION}

{$CONTACT_CONTENT}

<br />

<br />

{#text_name#}

<br />

{$INPUT_NAME}

<br />

<br />

Компания:

<br />

{$INPUT_COMPANY}

<br />

<br />

Телефон:

<br />

{$INPUT_PHONE}

<br />

<br />

{#text_email#}

<br />

{$INPUT_EMAIL}

<br />

<br />

{#text_message#}

<br />

{$INPUT_TEXT}

<br />

{$BUTTON_SUBMIT}

{$FORM_END}

{else}

{#text_success#}

<br />

{$BUTTON_CONTINUE}

{/if}

(допускаю, что тут ошибки нет)

А вот в файле shop_content.php я поправил в этих местах:

в районе строки 124:

require (DIR_WS_INCLUDES.'header.php');

$vamTemplate->assign('CONTACT_CONTENT', $contact_content);

$vamTemplate->assign('FORM_ACTION', vam_draw_form('contact_us', vam_href_link(FILENAME_CONTENT, 'action=send&coID=.(int) $_GET['coID])));

$vamTemplate->assign('INPUT_NAME', vam_draw_input_field('name', ($error ? $_POST['name'] : $first_name)));

$vamTemplate->assign('INPUT_COMPANY', vam_draw_input_field('company', ($error ? $_POST['company'] : $company)));

$vamTemplate->assign('INPUT_PHONE', vam_draw_input_field('telephone', ($error ? $_POST['telephone'] : $telephone)));

$vamTemplate->assign('INPUT_EMAIL', vam_draw_input_field('email', ($error ? $_POST['email'] : $email_address)));

$vamTemplate->assign('INPUT_TEXT', vam_draw_textarea_field('message_body', 'soft', 50, 15, $_POST[''],''));

$vamTemplate->assign('BUTTON_SUBMIT', vam_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));

$vamTemplate->assign('FORM_END', '</form>');

}

и

в районе строки 88:

vam_php_mail($_POST['email'], $_POST['name'], CONTACT_US_EMAIL_ADDRESS, CONTACT_US_NAME, CONTACT_US_FORWARDING_STRING, $_POST['email'], $_POST['name'], '', '', CONTACT_US_EMAIL_SUBJECT, nl2br($_POST['message_body']), $_POST['message_body'], $_POST['company'], $_POST['telephone']);

Но как результат - письмо из формы приходит в ящик без этих 2-х дополнительных полей...... Т.е. такое же, как и раньше

Ссылка на сообщение
Поделиться на другие сайты

Может действительно проще сделать, чтобы письмо о новом зарегистрированном пользователе из create_guest_account.php отправлялось ?

Ссылка на сообщение
Поделиться на другие сайты

В принципе, правильно, только в vam_php_mail строке, там где:


$_POST['message_body'], $_POST['company'], $_POST['telephone']
[/code] нужно через точку писать, т.е. так примерно:
[code]
$_POST['message_body'] . $_POST['company'] . $_POST['telephone']

Ссылка на сообщение
Поделиться на другие сайты

Нет, не работает так. Да и впрочем может все-таки не в точках дело, Александр? Просто там  жев vam_php_mail строке УЖЕ ДО МЕНЯ все было через запятую....

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте так:


vam_php_mail($_POST['email'], $_POST['name'], CONTACT_US_EMAIL_ADDRESS, CONTACT_US_NAME, CONTACT_US_FORWARDING_STRING, $_POST['email'], $_POST['name'], '', '', CONTACT_US_EMAIL_SUBJECT, nl2br($_POST['message_body'] . $_POST['company'] . $_POST['telephone']), $_POST['message_body'] . $_POST['company'] . $_POST['telephone']);
[/code]

У Вас точно на страинце обратной связи выводятся input поля для компании и телефона?!

Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо, Александр! ПОМОГЛО!!!!!!

Только перенос строки почему-то не делается.... я в строку эту вставляю /n - не помогает почему-то (ну <BR> само собой можно даже не пробовать вставлять):

vam_php_mail($_POST['email'], $_POST['name'], CONTACT_US_EMAIL_ADDRESS, CONTACT_US_NAME, CONTACT_US_FORWARDING_STRING, $_POST['email'], $_POST['name'], '', '', CONTACT_US_EMAIL_SUBJECT, nl2br($_POST['message_body']), $_POST['message_body'] . '\n \n' . $_POST['name'] . '\n \n' . 'Компания: ' . $_POST['company'] . '\n' . 'Телефон: ' . $_POST['telephone'] . '\n' . 'E-mail: ' . $_POST['email']);

Ссылка на сообщение
Поделиться на другие сайты

Наверное функцию nl2br нужно использовать и обычный br.

http://ru.php.net/manual/en/function.nl2br.php

Раз по умолчанию nl2br используется.

Ссылка на сообщение
Поделиться на другие сайты

Нет, Александр, <BR> не "прокатил"... я попробовал на всякий случай... Правда я функцию не трогал, а просто попробовал < BR > для переноса.....  НО! Решение тем не менее было найдено (с помощью знакомого PHP-программиста). Оказалось, что нужно было обрамлять \r\n не 'одинарными' кавычками, а "ДВОЙНЫМИ", т.к. спецсимволы работают только с двойными... а \r\n - это спецсимволы. В общем вот так все работает:

vam_php_mail($_POST['email'], $_POST['name'], CONTACT_US_EMAIL_ADDRESS, CONTACT_US_NAME, CONTACT_US_FORWARDING_STRING, $_POST['email'], $_POST['name'], '', '', CONTACT_US_EMAIL_SUBJECT, nl2br($_POST['message_body']), $_POST['message_body'] . "\r\n\r\n" . $_POST['name'] . "\r\n" . 'Компания: ' . $_POST['company'] . "\r\n" . 'Телефон: ' . $_POST['telephone'] . "\r\n" . 'E-mail: ' . $_POST['email']);

В любом случае огромное спасибо за помощь - действительно была полезна!

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...