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

Отправка на майл


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

Саш, нужно еще одну форму отправки майла сделать.

какой луше файл взять? как думаешь?

shop_content.php

или

ask_a_question.php

?

форма большая будет с большим кол-вом полей

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

Взял ask_a_question.php

Немного его переделал в другой файл.

Назвал ask_a_question2.php


<?php
include ('includes/application_top.php');
// include needed functions
require_once(DIR_FS_INC.'vam_validate_email.inc.php');
require_once (DIR_FS_INC.'vam_image_button.inc.php');
require_once (DIR_FS_INC.'vam_random_charcode.inc.php');
require_once (DIR_FS_INC.'vam_render_vvcode.inc.php');
// create smarty elements
$vamTemplate = new vamTemplate;
$vamTemplate->assign('language', $_SESSION['language']);
if (isset ($_POST['action']) && ($_POST['action'] == 'process')) {
include ('includes/header.php');
$error = false;
$firstname = vam_db_input($_POST['firstname']);
$lastname = vam_db_input($_POST['lastname']);
$email_address = vam_db_input($_POST['email_address']);
$message = vam_db_input($_POST['message_body']);
$to_email_address = $email_address;
$to_name = $firstname .' '. $lastname;
if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_FIRST_NAME_ERROR);
}
if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_LAST_NAME_ERROR);
}
if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_EMAIL_ADDRESS_ERROR);
}
elseif (vam_validate_email($email_address) == false) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_EMAIL_ADDRESS_ERROR);
}
if (($_POST['captcha'] != $_SESSION['vvcode'])) {
$error = true;
$messageStack->add('ask_a_question', TEXT_WRONG_CODE);
}
if ($message == '') {
$error = true;
$messageStack->add('ask_a_question', TEXT_MESSAGE_ERROR);
}
if ($messageStack->size('ask_a_question') > 0) {
$vamTemplate->assign('error', $messageStack->output('ask_a_question2'));
}
if ($error == false) {
$vamTemplate->assign('PRODUCTS_NAME', $product_info['products_name']);
$vamTemplate->assign('PRODUCTS_MODEL', $product_info['products_model']);
$vamTemplate->assign('TEXT_MESSAGE', $_POST['message_body']);
$vamTemplate->assign('TEXT_FIRSTNAME', $firstname);
$vamTemplate->assign('TEXT_LASTNAME', $lastname);
$vamTemplate->assign('TEXT_EMAIL', $email_address);
$vamTemplate->assign('TEXT_EMAIL_SUCCESSFUL', sprintf(TEXT_EMAIL_SUCCESSFUL_SENT, $product_info['products_name']));
$vamTemplate->assign('PRODUCT_LINK', vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($product_info['products_id'], $product_info['products_name'])));
$vamTemplate->caching = 0;
$html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/ask_a_question2.html');
$vamTemplate->caching = 0;
$txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/ask_a_question.txt');
// send mail to admin
vam_php_mail($to_email_address, EMAIL_SUPPORT_NAME, EMAIL_SUPPORT_ADDRESS, STORE_NAME, EMAIL_SUPPORT_FORWARDING_STRING, $to_email_address, $to_name, '', '', 'NAVBAR_TITLE_ASK', $html_mail, $txt_mail);
// send mail to customer
vam_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $to_email_address, $to_name, EMAIL_SUPPORT_FORWARDING_STRING, EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', 'NAVBAR_TITLE_ASK', $html_mail, $txt_mail);
if (!CacheCheck()) {
$vamTemplate->caching = 0;
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question_ok.html');
} else {
$vamTemplate->caching = 1;
$vamTemplate->cache_lifetime = CACHE_LIFETIME;
$vamTemplate->cache_modified_check = CACHE_CHECK;
$cache_id = $_SESSION['language'];
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question_ok.html', $cache_id);
}
}else{
$vamTemplate->assign('FORM_ACTION', vam_draw_form('ask_a_question', vam_href_link(FILENAME_ASK_PRODUCT_QUESTION, 'products_id='.$_GET['products_id'].'')).vam_draw_hidden_field('action', 'process').vam_draw_hidden_field('products_id', $_GET['products_id']));
$vamTemplate->assign('CAPTCHA_IMG', vam_image(HTTP_SERVER . DIR_WS_CATALOG . FILENAME_DISPLAY_CAPTCHA, 'captcha'));
$vamTemplate->assign('CAPTCHA_INPUT', vam_draw_input_field('captcha', '', 'size="6" maxlength="6"', 'text', false));
//-> guest *********************************************************
$vamTemplate->assign('INPUT_FIRSTNAME', vam_draw_input_fieldNote(array ('name' => 'firstname', 'text' => ' '. (vam_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_FIRST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_LASTNAME', vam_draw_input_fieldNote(array ('name' => 'lastname', 'text' => ' '. (vam_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_EMAIL', vam_draw_input_fieldNote(array ('name' => 'email_address', 'text' => ' '. (vam_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">'.ENTRY_EMAIL_ADDRESS_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_TEXT', vam_draw_textarea_field('message_body', 'soft', 50, 15, stripslashes($_POST['message_body'])));
$vamTemplate->assign('FORM_END', '</form>');
$vamTemplate->assign('BUTTON_SUBMIT', vam_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
$vamTemplate->assign('BUTTON_CONTINUE', '<a href="">'.vam_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>');
// set cache ID
if (!CacheCheck()) {
$vamTemplate->caching = 0;
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question2.html');
} else {
$vamTemplate->caching = 1;
$vamTemplate->cache_lifetime = CACHE_LIFETIME;
$vamTemplate->cache_modified_check = CACHE_CHECK;
$cache_id = $_SESSION['language'];
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question2.html', $cache_id);
}
}
}else{
include ('includes/header.php');
$vamTemplate->assign('CAPTCHA_IMG', vam_image(HTTP_SERVER . DIR_WS_CATALOG . FILENAME_DISPLAY_CAPTCHA, 'captcha'));
$vamTemplate->assign('CAPTCHA_INPUT', vam_draw_input_field('captcha', '', 'size="6" maxlength="6"', 'text', false));
$vamTemplate->assign('FORM_ACTION', vam_draw_form('ask_a_question', vam_href_link(FILENAME_ASK_PRODUCT_QUESTION, 'products_id='.$_GET['products_id'].'')).vam_draw_hidden_field('action', 'process').vam_draw_hidden_field('products_id', $_GET['products_id']));
//-> guest *********************************************************
$vamTemplate->assign('INPUT_FIRSTNAME', vam_draw_input_fieldNote(array ('name' => 'firstname', 'text' => ' '. (vam_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_FIRST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_LASTNAME', vam_draw_input_fieldNote(array ('name' => 'lastname', 'text' => ' '. (vam_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_EMAIL', vam_draw_input_fieldNote(array ('name' => 'email_address', 'text' => ' '. (vam_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">'.ENTRY_EMAIL_ADDRESS_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_TEXT', vam_draw_textarea_field('message_body', 'soft', 50, 15, stripslashes($_POST['message_body'])));
$vamTemplate->assign('FORM_END', '</form>');
$vamTemplate->assign('BUTTON_SUBMIT', vam_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
$vamTemplate->assign('BUTTON_CONTINUE', '<a href="javascript:window.close()">'.vam_image_button('button_back.gif', IMAGE_BUTTON_BACK).'</a>');
$vamTemplate->caching = 0;
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question2.html');
}
?>
<html>
<link rel="stylesheet" type="text/css" href="templates/vamshop/stylesheet.css" />
</html>
[/CODE]

Отправляет нормально, но если какая либо ошибка (не введено какое либо поле, например) то открывается уже не этот файл а [color=#282828][font=helvetica, arial, sans-serif]ask_a_question.php[/font][/color]

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

Так меняй форму:

$vamTemplate->assign('FORM_ACTION', vam_draw_form('ask_a_question', vam_href_link(FILENAME_ASK_PRODUCT_QUESTION, 'products_id='.$_GET['products_id'].'')).vam_draw_hidden_field('action', 'process').vam_draw_hidden_field('products_id', $_GET['products_id']));

Указывайте свой файл, а не ask_a_question

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

В файле

includes/filenemes.php

Указал имя файла

define('FILENAME_ASK_PRODUCT_QUESTION2', 'ask_a_question2.php');

ну и в файле ask_a_question2.php

соответственно заменил на FILENAME_ASK_PRODUCT_QUESTION2

так теперь приходят на почту сообщения

Warning: Smarty error: unable to read resource: "vamshop/mail/russian/ask_a_question2.html" in /home/m/mirramy1/public_html/includes/external/smarty/Smarty.class.php on line 1113

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

Тогда и шаблон надо копировать /templates/шаблон/module/ask_a_question.html в ask_a_question2.html

В ошибке написано, что нет файла.

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

Пардон, речь же про шабло письма, не заметил.

/templates/vamshop/mail/russian/ask_a_question2.html

Вот этого файла нет.

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

ага.... а я уж надеялся что это какая либо забытая функция типа"рассказать другу по майл или намекнуть"

Кстати, файл тот. все работает. спасибо

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

Саш, пытался дроп дауны сделать


Warning: Missing argument 2 for vam_draw_pull_down_menuNote(), called in /home/m/mirramy1/public_html/ask_a_question2.php on line 172 and defined in /home/m/mirramy1/public_html/inc/vam_draw_pull_down_menu.inc.php on line 74
Warning: Missing argument 2 for vam_draw_pull_down_menuNote(), called in /home/m/mirramy1/public_html/ask_a_question2.php on line 184 and defined in /home/m/mirramy1/public_html/inc/vam_draw_pull_down_menu.inc.php on line 74
[/CODE] В чем может быть дело? Синтаксисс
[CODE]
$vamTemplate->assign('INPUT_ELEMENT_6', vam_draw_input_fieldNote(array ('name' => 'element_6', 'text' => ' '. (vam_not_null(ENTRY_ELEMENT_6) ? '<span class="inputRequirement">'.ENTRY_ELEMENT_6.'</span>' : ''))));

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

Не указан второй аргумент.

Используйте функцию vam_draw_pull_down

Посмотрите пример её использования в магзаине, посмотрите код в /inc/vam_draw_pull_down.inc.php

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

Да, чуть ошибся.

Посмотрите примеры, есть же работающие pulldown списки.

Просто неправильно параметры заданы, раз ошибки пишет.

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

Саш для инпута условие


if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_LAST_NAME_ERROR);
}
[/CODE]

а как дял радио батона поставить?

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