Вы не авторизованы.
Все кто, чо-то знает - оставляйте коментарии!!!
Неактивен
Файл лежит в папке templates\tmpl1 называется "order_custinfo.tpl" если не то, то тогда изъясни вопрос по конкретнее!
Неактивен
А в файле шаблона head.tpl.html содержится JavaScript код проверки правильности заполнения полей регистрационной формы. Если будете что-то просто удалять из формы, получите форму с которой нельзя будет пойти дальше на оформление заказа. Обязательно вносите соответствующие изменения в head.tpl.html.
Неактивен
Alexey написал:
А в файле шаблона head.tpl.html содержится JavaScript код проверки правильности заполнения полей регистрационной формы. Если будете что-то просто удалять из формы, получите форму с которой нельзя будет пойти дальше на оформление заказа. Обязательно вносите соответствующие изменения в head.tpl.html.
Надо в вики Василию добавить или на форум обработку скриптов, смарти с literal - систематизировать.
Неактивен
Хотелось бы узнать в какой скрипт(функцию) пердаются эти данные, чтоб потом новые поля передавлись почтой?
Неактивен
Какая интересная тема! Вопросов много: а можно ли просто сделать некоторые поля необязательными для заполнения? Например мне сильно не нужны фамилия, индекс, страна и область, я не доставляю по почте, мне достаточно адреса и телефона с именем, но хотелось бы добавить еще одну строчку и назвать ее "комментарии к заказу". Я обычно делаю так, если мне нужно поменять название, то меняю просто константу в файле russian.php, но если я что то буду удалять из файла order_custinfo.tpl, то как мне внести соответствующие изменения в head.tpl.html в JavaScript код проверки правильности заполнения полей регистрационной формы? вот например удалила я фамилию, а в скрипте как я вижу все вместе, могу я частично удалить из скрипта про фамилию, а остальное оставить? Вот изначальный код ,(с фамилией):
if (document.custinfo_form.first_name.value=="" || document.custinfo_form.last_name.value=="")
{alert("{/literal}{$smarty.const.ERROR_INPUT_NAME}{literal}"); return false; }
а вот я фамилию удалила:
if (document.custinfo_form.first_name.value=="" )
{alert("{/literal}{$smarty.const.ERROR_INPUT_NAME}{literal}"); return false; }
все будет нормально работать? только фамилию не будет поверять?
Неактивен
А если просто удалить код проверки из файла head, то поля станут необязательными для заполнения?
Неактивен
Да, Наталья, все станут не обязательны.
Неактивен
а как сделать поле телефон обязательным для заполнения?
Какой код надо добавить в head.tpl.html ?
Отредактировано Ильмир (2009-06-14 14:11)
Неактивен
Вот кстати еще идея по поводу наболевшей проблемы добавления полей в форме заказа, там все предельно просто решается, берем любое ненужное поле и удаляем его (предположим поле с именем "tel" ). Добавляем нужное количество полей например с именами a1, a2..an. Соответсвенно проверку для них в ява скрипте (проверку поля "tel" нужно будет убрать), ну и перед записью в базу сложим все переменные из полей a1, a2..an и присвоим результат нашей старой переменной "tel"... Ну а её соответственно по старому коду пишем в базу, получится что у нас все переменные a1, a2..an будут хранится в одной ячейке...
Ну а чтоб потом в админке крышу не сорвало что это нам понаписали при заказе, к переменным перед "сложением" добавьте их значение, например вот так $a1="телефон:".$a1 и так далее. В конце получим $tel=$a1."<br>".$a2."<br>".$a3
... Переменная $tel по старому сценарию и так в базу писалась, так что дальше ничего менять не потребуется...
Ну мысль выразить я попытался, насколько мне это удалось решать вам...
Неактивен
Наталья, вот тут только что нашла ответ на наш с Вами вопрос:
http://forum.webasyst.ru/viewtopic.php?id=1865
Отредактировано mishonet (2009-06-19 11:08)
Неактивен
Всё сделал. Всё получилось. Добавил несколько полей в форме и в базе таблицы добавил. А вот с админкой вышла незадача. Не показывает добавленные мною поля в заказах и всё тут. Те што старые - все на месте. Как решить эту проблему??? Заранее благодарен
Неактивен
Нашёл файл custord_new_orders.tpl.html добавил нужные мне поля, но в админке обновилась только шапка, а значений не появилось. При чем столбцы перепутались. (Под номером телфона адрес и т.п.)
Отредактировано Mixx (2009-09-29 17:11)
Неактивен
не поверю, что никто не сталкивался с этой проблемой))). Ребят, помогите.
Неактивен
Добавление поля "коментарий к заказу"
1. создать поле в таблице "SS_orders"
ALTER TABLE `SS_orders` ADD `comment_to_order` TEXT;
2. в файле order_custinfo.tpl.html добавляем поле TEXTAREA
(перед вторым с низу закрывающимся тегом table)
<tr><td colspan=3> </td></tr> <tr> <td colspan=2 align=right>{$smarty.const.CUSTOMER__COMMENT}</td> <td><textarea name="comment" rows=4>{$reg_userinfo[11]|replace:'<':'<'}</textarea></td> </tr>
3. в файле order_place.php меняем:
сохранение в базе
db_query("insert into ".ORDERS_TABLE." (order_time, cust_firstname, cust_lastname, cust_email, cust_country, cust_zip, cust_state, cust_city, cust_address, cust_phone) values ('".get_current_time()."','".$_POST["first_name"]."','".$_POST["last_name"]."','".$_POST["email"]."','".$_POST["country"]."','".$_POST["zip"]."','".$_POST["state"]."','".$_POST["city"]."','".$_POST["address"]."','".$_POST["phone"]."');") or die (db_error());
на
db_query("insert into ".ORDERS_TABLE." (order_time, cust_firstname, cust_lastname, cust_email, cust_country, cust_zip, cust_state, cust_city, cust_address, cust_phone, comment_to_order) values ('".get_current_time()."','".mysql_real_escape_string($_POST["first_name"])."','".mysql_real_escape_string($_POST["last_name"])."','".mysql_real_escape_string($_POST["email"])."','".mysql_real_escape_string($_POST["country"])."','".mysql_real_escape_string($_POST["zip"])."','".mysql_real_escape_string($_POST["state"])."','".mysql_real_escape_string($_POST["city"])."','".mysql_real_escape_string($_POST["address"])."','".mysql_real_escape_string($_POST["phone"])."','".mysql_real_escape_string($_POST["comment"])."');") or die (db_error());
отправку письма админу
$adm .= "\n".CUSTOMER_FIRST_NAME." ".$_POST["first_name"]."\n".CUSTOMER_LAST_NAME." ".$_POST["last_name"]."\n".CUSTOMER_ADDRESS.": ".$_POST["country"].", ".$_POST["zip"].", ".$_POST["state"].", ".$_POST["city"].", ".$_POST["address"]."\n".CUSTOMER_PHONE_NUMBER.": ".$_POST["phone"]."\n".CUSTOMER_EMAIL.": ".$_POST["email"];
на
$adm .= "\n".CUSTOMER_FIRST_NAME." ".$_POST["first_name"]."\n".CUSTOMER_LAST_NAME." ".$_POST["last_name"]."\n".CUSTOMER_ADDRESS.": ".$_POST["country"].", ".$_POST["zip"].", ".$_POST["state"].", ".$_POST["city"].", ".$_POST["address"]."\n".CUSTOMER_PHONE_NUMBER.": ".$_POST["phone"]."\n".CUSTOMER_EMAIL.": ".$_POST["email"]."\n".CUSTOMER__COMMENT.": ".$_POST["comment"];
4. в custord_new_orders.php
$q = db_query("SELECT orderID, order_time, cust_firstname, cust_lastname, cust_email, cust_country, cust_zip, cust_state, cust_city, cust_address, cust_phone, ".ORDERS_TABLE." order by order_time DESC") or die (db_error());
на
$q = db_query("SELECT orderID, order_time, cust_firstname, cust_lastname, cust_email, cust_country, cust_zip, cust_state, cust_city, cust_address, cust_phone, comment_to_order FROM ".ORDERS_TABLE." order by order_time DESC") or die (db_error());
и
$result[$i][11] = $prs; //order value $result[$i][12] = show_price($total); //order value
на
$result[$i][12] = $prs; //order value $result[$i][13] = show_price($total); //order value
5. и наконец в custord_new_orders.tpl.html меняем всю таблицу
<table width="100%" border="0" cellspacing="0" cellpadding="5"> <tr class="mainmenu_selected_{$current_dpt}"> <td><b>{$smarty.const.STRING_ORDER_ID}</b></td> <td><b>{$smarty.const.TABLE_CUSTOMER}</b></td> <td><b>{$smarty.const.CUSTOMER_EMAIL}</b></td> <td><b>{$smarty.const.CUSTOMER_ADDRESS}</b></td> <td><b>{$smarty.const.CUSTOMER_PHONE_NUMBER}</b></td> <!--//----------------добавил---------------------//--> <td><b>{$smarty.const.CUSTOMER__COMMENT}</b></td> <!--//--------------------------------------------//--> <td><b>{$smarty.const.TABLE_ORDERED_PRODUCTS}</b></td> <td align=center><b>{$smarty.const.TABLE_ORDER_TOTAL}</b></td> <td><b>{$smarty.const.TABLE_ORDER_TIME}</b></td> <td> </td> </tr> {section name=i loop=$orders} <tr class="{if $smarty.section.i.index is div by 2}bg_white{else}bg_{$current_dpt}{/if}"> <td>{$orders[i][0]}</td> {* print customer info: first name, e-mail, etc.*} <td>{$orders[i][2]} {$orders[i][3]}</td> <td><a href="mailto:{$orders[i][4]}">{$orders[i][4]}</a></td> <td>{$orders[i][9]}<br>{$orders[i][8]} {$orders[i][7]} {$orders[i][6]}<br>{$orders[i][5]}</td> <td>{$orders[i][10]}</td> <td>{$orders[i][11]}</td> <!--//--Добавил <td>{$orders[i][12]}</td> и поменял 12 на 13---//--> <td>{$orders[i][12]}</td> <td align=center><b>{$orders[i][13]}</b></td> <!--//--------------------------------------------//--> <td>{$orders[i][1]}</td> <td><a href="javascript:confirmDelete({$orders[i][0]},'{$smarty.const.QUESTION_DELETE_CONFIRMATION}','admin.php?dpt=custord&sub=new_orders&delete=');"><img src="images/backend/button_delete.gif" border=0 alt="{$smarty.const.CANCEL_BUTTON}"></a></td> </tr> {/section} </table>
да и в russian.php
define('CUSTOMER__COMMENT', 'Комментарии к заказу:');
Неактивен
Помогите, пожалуйста, разобраться. Добавила поле form_op в SS_orders, как объяснял Коля и появилась ошибка fatal error: Smarty: [in custord_new_orders.tpl.html line 30]: syntax error: unrecognized tag: $orders[i][13 (smarty_compiler.class.php, line 417) in smarty\smarty_compiler.class.php on line 2062
Код custord_new_orders.tpl.html
<table width="100%" border="0" cellspacing="0" cellpadding="6">
<tr class="mainmenu_selected_{$current_dpt}">
<td><b>{$smarty.const.STRING_ORDER_ID}</b></td>
<td><b>{$smarty.const.TABLE_CUSTOMER}</b></td><td><b>{$smarty.const.CUSTOMER_EMAIL}</b></td> <td><b>{$smarty.const.CUSTOMER_ADDRESS}</b></td>
<td><b>{$smarty.const.CUSTOMER_PHONE_NUMBER}</b></td><td><b>{$smarty.const.TABLE_ORDERED_PRODUCTS}</b></td>
<td align=center><b>{$smarty.const.TABLE_ORDER_TOTAL}</b></td>
<td><b>{$smarty.const.TABLE_ORDER_TIME}</b></td>
<td><b>{$smarty.const.TABLE_FORM_OP}</b></td>
<td> </td>
</tr>
{section name=i loop=$orders}
<tr class="{if $smarty.section.i.index is div by 2}bg_white{else}bg_{$current_dpt}{/if}">
<td>{$orders[i][0]}</td>
{* print customer info: first name, e-mail, etc.*}
<td>{$orders[i][2]} {$orders[i][3]}</td>
<td><a href="mailto:{$orders[i][4]}">{$orders[i][4]}</a></td>
<td>{$orders[i][9]}<br>{$orders[i][8]} {$orders[i][7]} {$orders[i][6]}<br>{$orders[i][5]}</td>
<td>{$orders[i][10]}</td>
<td>{$orders[i][11]}</td>
<td>{$orders[i][12]}</td>
<td align=center><b>{$orders[i][13}</b></td>
<td>{$orders[i][1]}</td>
<td><a href="javascript:confirmDelete({$orders[i][0]},'{$smarty.const.QUESTION_DELETE_CONFIRMATION}','admin.php?dpt=custord&sub=new_orders&delete=');"><img src="images/backend/button_delete.gif" border=0 alt="{$smarty.const.CANCEL_BUTTON}"></a></td>
</tr>
{/section}
</table>
Неактивен
<td align=center><b>{$orders[i][13}</b></td> закройте {$orders[i][13]}
Отредактировано nictboom (2010-04-03 18:42)
Неактивен
Спасибо. Теперь у меня другая проблема.
В заказ хочу добавить радиокнопку форма оплаты( наличные или безналичные), не присваивается ни какого значения
<tr>
<td colspan=2 align=right><font color=red>*</font> {$smarty.const.CUSTOMER_FORMOP}<br></td>
<td><input type="radio" name="oplata" value="{$reg_userinfo[11]|replace:'<':'<'}">{$smarty.const.CUSTOMER_FORMOPN}<br>
<input type="radio" name="oplata" value="{$reg_userinfo[11]|replace:'<':'<'}">{$smarty.const.CUSTOMER_FORMOPB}<br>
</td>
</tr>
Неактивен
Татьяна:
а он так и не присвоит, нечего. надо проверку добавлять.
сделайте селектом, проще. например
<select name="oplata" value="{$reg_userinfo[11]|replace:'<':'<'}"> <option>{$smarty.const.CUSTOMER_FORMOP}</option> <option>{$smarty.const.CUSTOMER_FORMOPB}</option> </select>
Отредактировано nictboom (2010-04-04 00:46)
Неактивен
Helmsman написал:
Коля написал:
Добавление поля "коментарий к заказу"
1. создать поле в таблице "SS_orders"Код:
ALTER TABLE `SS_orders` ADD `comment_to_order` TEXT;Я дико извиняюсь, но не могу найти такой файл (таблицу) "SS_orders" !
Перерыл уже все файлы.Такого нет у меня в обычной версии Shop-Script FREE (не Лего). Или этот файл нужно самому создавать?
Из-за того, что не правил эту таблицу, перестало работать оформление заказов.
( пишет так: Unknown column 'comment_to_order' in 'field list')
Остальное все пошагово сделал по указаниям Коли.
Прошу помощи!
Неактивен
Helmsman написал:
Helmsman написал:
Коля написал:
Добавление поля "коментарий к заказу"
1. создать поле в таблице "SS_orders"Код:
ALTER TABLE `SS_orders` ADD `comment_to_order` TEXT;Я дико извиняюсь, но не могу найти такой файл (таблицу) "SS_orders" !
Перерыл уже все файлы.Такого нет у меня в обычной версии Shop-Script FREE (не Лего). Или этот файл нужно самому создавать?
Из-за того, что не правил эту таблицу, перестало работать оформление заказов.
( пишет так: Unknown column 'comment_to_order' in 'field list')
Остальное все пошагово сделал по указаниям Коли.
Прошу помощи!
Это поле создается в phpmyadmin, в панели управления хостингом
Неактивен
Вот этой тонкости я и не знал! Редко в базу приходится залезать.
Теперь все получилось, и форма работает так, как мне нужно.
Спасибо Ильмиру! А то с нерабочей формой заказа даже пару дней сидеть не хочется.
* Правда, я добавил еще одну вещь:
В Таблица : SS_orders, в разделе Структура, посреди:
cust_firstname
cust_lastname
cust_email
cust_country
и т. далее....
Я создал свой файл cust_comment, с аналогичными атрибутами, как и у остальных в этом месте.
В указаниях выше про это ничего не говорилось, не знаю, правильно это, или нет, но мне показалось, что это необходимо сделать.
В общем, с этим дополнением так же все замечательно работает!
Ура!
Неактивен
Babur4iK,
Так ему, похоже значение "oplata" брать неоткуда. Попробуйте переписать так:
<select name="oplata"> <option value="{$smarty.const.CUSTOMER_OPLATA}">{$smarty.const.CUSTOMER_OPLATA}</option> <option value="{$smarty.const.CUSTOMER_COMMENT}">{$smarty.const.CUSTOMER_COMMENT}</option> </select></td> </tr>
Так должно заработать. И еще, это же вроде не код радиокнопок, а выпадающий список. Чтобы получить радиокнопки надо написать так:
<input type="radio" name="oplata" value="{$smarty.const.CUSTOMER_OPLATA}">{$smarty.const.CUSTOMER_OPLATA}<br /> <input type="radio" name="oplata" value="{$smarty.const.CUSTOMER_COMMENT}">{$smarty.const.CUSTOMER_COMMENT}<br /> </td></tr>
Отредактировано konvwolf (2011-10-05 16:43)
Неактивен