По умолчанию всем статусам задается штатный шаблон customer.order.change_status.tpl.html
1.JPG 68.76К 54 Количество загрузок:
Спонсор: pavel77
Установка:
----------
1. копируем файлы
addon.php -> core/includes/admin/
Этот файл нужен ОДИН РАЗ для создания в таблицах новых полей.
После первого же захода в админку его можно удалить, если он не удалился сам.
2. в файле custord_order_statuses.tpl.html
2.1 вместо строки
<td align=left width="100%">{$smarty.const.ADMIN_SORT_ORDER}</td>
вставляем
{* BEGIN status-change-email *}
{*<td align=left width="100%">{$smarty.const.ADMIN_SORT_ORDER}</td>*}
<td align=left>{$smarty.const.ADMIN_SORT_ORDER}</td>
<td align="left" width="100%">Имя файла с шаблоном</td>
{* END status-change-email *}
2.2 после строки
<td align=left><input type=text name=sort_order_{$order_statues[i].statusID} value="{$order_statues[i].sort_order}" class="textp" size="15"></td>
вставляем
{* BEGIN status-change-email *}
<td align="left">
<select name="filename_{$order_statues[i].statusID}">
{foreach from=$filenames item=filename}
<option value="{$filename}"{if $order_statues[i].filename==$filename} selected{/if}>{$filename}</option>
{/foreach}
</select>
</td>
{* END status-change-email *}
2.3 вместо строки
<td align="left" width="100%">{$smarty.const.ADMIN_SORT_ORDER}</td>
вставляем
{* BEGIN status-change-email *}
{*<td align="left" width="100%">{$smarty.const.ADMIN_SORT_ORDER}</td>*}
<td align="left">{$smarty.const.ADMIN_SORT_ORDER}</td>
<td align="left" width="100%">Имя файла с шаблоном</td>
{* END status-change-email *}
2.4 после строки
<td align=left><input type=text name=new_sort_order value="" class="textp" size="15"></td>
вставляем
{* BEGIN status-change-email *}
<td align="left">
<select name="new_filename">
{foreach from=$filenames item=filename}
<option value="{$filename}"{if $filename=='customer.order.change_status.tpl.html'} selected{/if}>{$filename}</option>
{/foreach}
</select>
</td>
{* END status-change-email *}
3. в файле custord_order_statuses.php
перед строкой
$smarty->assign("admin_sub_dpt", "custord_order_statuses.tpl.html");
вставляем
# BEGIN status-change-email
$filenames = array();
$handle = opendir("core/tpl/email/");
while ($file = readdir($handle)) if ((ereg("[html]",$file))) $filenames[] = $file;
closedir($handle);
sort($filenames);
$smarty->assign( "filenames", $filenames );
# END status-change-email
4. в файле order_status_functions.php
4.1 в функции ostGetOrderStatues
вместо строки
$q = db_query("select statusID, status_name, sort_order from ".
вставляем
# BEGIN status-change-email
#$q = db_query("select statusID, status_name, sort_order from ".
$q = db_query("select statusID, status_name, sort_order, filename from ".
# END status-change-email
4.2 в функции ostAddOrderStatus
вместо строк
db_query("insert into ".ORDER_STATUES_TABLE."(status_name, sort_order) ".
"values( '".xToText($name)."', ".(int)$sort_order." )");
вставляем
# BEGIN status-change-email
#db_query("insert into ".ORDER_STATUES_TABLE."(status_name, sort_order) ".
#"values( '".xToText($name)."', ".(int)$sort_order." )");
db_query("insert into ".ORDER_STATUES_TABLE."(status_name, sort_order, filename) ".
"values('".xToText($name)."',".(int)$sort_order.",'".xToText($_POST['new_filename'])."')");
# END status-change-email
4.3 в функции ostUpdateOrderStatus
после строки
"status_name ='".xToText($status_name)."', ".
вставляем
# BEGIN status-change-email
"filename ='".xToText($_POST['filename_'.$statusID])."', ".
# END status-change-email
5. в файле statistic_functions.php в функции stChangeOrderStatus
5.1 вместо строк
$q_status_name = db_query( "select status_name from ".ORDER_STATUES_TABLE.
" where statusID=".(int)$statusID);
list($status_name) = db_fetch_row($q_status_name);
вставляем
# BEGIN status-change-email
#$q_status_name = db_query( "select status_name from ".ORDER_STATUES_TABLE.
#" where statusID=".(int)$statusID);
#list($status_name) = db_fetch_row($q_status_name);
$q_status_name = db_query( "SELECT status_name, filename FROM ".ORDER_STATUES_TABLE." WHERE statusID=".(int)$statusID);
list($status_name,$template) = db_fetch_row($q_status_name);
# END status-change-email
5.2 вместо строки
xMailTxt($Email, STRING_CHANGE_ORDER_STATUS, 'customer.order.change_status.tpl.html',
вставляем
# BEGIN status-change-email
#xMailTxt($Email, STRING_CHANGE_ORDER_STATUS, 'customer.order.change_status.tpl.html',
xMailTxt($Email, STRING_CHANGE_ORDER_STATUS, $template,
# END status-change-email