Перейти к содержимому


Каждому статусу - свой емейл! :)


  • Вы не можете ответить в тему
В этой теме нет ответов

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 March 2014 - 09:21 PM

Модуль предназначен для задания каждому статусу заказа своего отдельного email-шаблона, который будет отправляться при смене статуса заказа.
По умолчанию всем статусам задается штатный шаблон 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

Прикрепленные файлы

  • Прикрепленный файл  addon.php   267байт   10 Количество загрузок:

  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)