Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как в письме заказа администратору указать категорию товара?


Recommended Posts

В контроллере определяем главную категорию товара. Я делал так:

$this->load->model('catalog/category');
$category = $this->model_catalog_product->getCategories($order_product['product_id']);
if ($category){
	$categories_array = $this->model_catalog_category->getCategory($category[0]['category_id']);
	$product_category = $categories_array['name'];
}  

 

и сую ее в массив товаров
 

$order_products[] = array(
	'product_category' => $product_category, // это добавляем

теперь в шаблоне для каждого товара доступна категория в таком виде:

{{ product.product_category }}

 

  • +1 2
Надіслати
Поділитися на інших сайтах

20 hours ago, SGrWr_34 said:

В контроллере определяем главную категорию товара. Я делал так:


$this->load->model('catalog/category');
$category = $this->model_catalog_product->getCategories($order_product['product_id']);
if ($category){
	$categories_array = $this->model_catalog_category->getCategory($category[0]['category_id']);
	$product_category = $categories_array['name'];
}  

 

и сую ее в массив товаров
 


$order_products[] = array(
	'product_category' => $product_category, // это добавляем

теперь в шаблоне для каждого товара доступна категория в таком виде:


{{ product.product_category }}

 

 

Змінено користувачем AleksLex
Надіслати
Поділитися на інших сайтах


 Я немного по другому сделал. Обратился напрямую к базе 
Если кому надо. Напишу полный код. Отправляется таблица как на WP админу и покупателю. ТОлько админу без картинки с категорией, а покупателю с картинками без категорий Open Cart 3:
\catalog\view\theme\default\template\mail\order_alert.twig

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{{ title }}</title>
</head>
<body>

<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
    <tbody>
        <tr>
            <td valign="top" align="center"> 
 
 
<table style="background-color: #fdfdfd;border: 1px solid #dcdcdc;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);border-radius: 3px;" id="template_container_mr_css_attr_mr_css_attr" width="600" cellspacing="0" cellpadding="0" border="0">
<tbody>
        <tr>
            <td valign="top" align="center">
                <table style="background-color: #557da1;color: #ffffff;border-bottom: 0;font-weight: bold;line-height: 100%;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;border-radius: 3px 3px 0 0;" id="template_header_mr_css_attr_mr_css_attr" width="100%" cellspacing="0" cellpadding="0" border="0">
                    <tbody>
                        <tr>
                            <td style="padding: 36px 48px;display: block;" id="header_wrapper_mr_css_attr_mr_css_attr">
                            <h1 style="color:#ffffff;font-family:'Helvetica Neue',Helvetica, Roboto,Arial,sans-serif; font-size:30px;font-weight:300;line-height:150%; margin-bottom:0px;margin-left:0px; margin-right:0px;margin-top:0px; text-align:left;text-shadow:0 1px 0 #7797b4">Новый клиентский заказ</h1>
                            </td>
                        </tr>
                    </tbody>
                 </table>
            </td>    
        </tr>
                
        <tr>
            <td valign="top" align="center">     
            <table width="600" cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                    <td style="background-color: #fdfdfd;" valign="top">
                    <table width="100%" cellspacing="0" cellpadding="20" border="0">
                        <tbody>
                            <tr>
                                <td style="padding: 48px 48px 32px;" valign="top">
                                
                                <div style="color:#737373;font-family:'Helvetica Neue',Helvetica,Roboto,Arial,sans-serif;font-size:14px;line-height:150%;text-align:left">
                                                                <p style="margin-bottom:16px;margin-top:16px">Заказ от <b>{{lastname}} {{firstname}}</b></p>
                                <h2 style="color:#557da1;display:block;font-family:'Helvetica Neue',Helvetica,Roboto,Arial,sans-serif;font-size:18px;font-weight:bold;line-height:130%;margin-bottom:18px;margin-top:18px;text-align:left"><a style="font-weight: normal;text-decoration: underline;color: #557da1;" href="{{ link }}" class="link_mr_css_attr_mr_css_attr" target="_blank" rel=" noopener noreferrer">[Заказ № {{order_id}}]</a> ( {{ date_added }})</h2>
            

<div style="margin-bottom:40px">    

  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"  cellspacing="0" cellpadding="6" border="1">
     <tbody>
         <tr>
             <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Категория</th>
             <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Товар</th>
             <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Количество</th> 
             <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Цена</th> 
         </tr>
     </tbody>   


    {% for product in products %}
    <tbody>
    <tr>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;"><a href="{{ product.href_cat}}">{{ product.name_cat }}</a>
  </td>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">{{ product.name }}</td>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">{{ product.quantity }}</td>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">{{ product.price }}</td>
     </tr>
    </tbody>
    
    {% endfor %}
    {% for voucher in vouchers %}
    <tbody>
    <tr>
      <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;">{{ voucher.description }}</td>
      <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"></td>
      <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;">1</td>
      <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;">{{ voucher.amount }}</td>
      <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;">{{ voucher.amount }}</td>
    </tr>
    </tbody>
    {% endfor %}
   
    
    <tbody>

        <tr>
        <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" colspan="2" >{{ text_payment_method }}</th>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" >{{ payment_method }}</td>
        </tr>

    
    {% for total in totals %}
        <tr>
        <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" colspan="2" >{{ total.title }}</th>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" >{{ total.text }}</td>
        </tr>
    {% endfor %}
    

     </tbody>  
  </table>
  </div>
  


  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;  margin-bottom: 20px;"  cellspacing="0" cellpadding="6" border="1">
    <thead>
      <tr>
        <th style="color:#737373;border:1px solid #e4e4e4;vertical-align:middle;padding:12px;text-align:left" colspan="1">{{ text_order_detail }}</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">
        <b>{{ text_order_id }}</b> {{ order_id }}<br />
        <b>{{ text_payment_method }}</b> {{ payment_method }}<br />        
        <b>{{ text_shipping_method }}</b> {{ shipping_method }}<br />
        <b>{{ text_email }}</b> {{ email }}<br />
        <b>{{ text_telephone }}</b> {{ telephone }}<br />          
        <b>{{ text_order_status }}</b> {{ order_status }}<br />
        </td>        
      </tr>
    </tbody>
  </table>
 
 
  
  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"  cellspacing="0" cellpadding="6" border="1">
    <thead>
      <tr>
        <th style="color:#737373;border:1px solid #e4e4e4;vertical-align:middle;padding:12px;text-align:left" colspan="1">{{ text_shipping_address }}</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">
        {{ shipping_address }}} 
        </td>        
      </tr>
    </tbody>
  </table>

    {% if comment %}
      <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; margin-bottom: 20px;">
        <tbody>
          <tr>
            <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">{{ comment }}</td>
          </tr>
        </tbody>
      </table>
      {% endif %}
  
 

</div>
                                    </td>
                                </tr>    
                            </tbody>
                        </table>
                    </td>
                </tr>
            </tbody>
        </table>                
        </td>
        </tr>
    </tbody>
</table>

            </td>
        </tr>    
    </tbody>
</table>
<hr>

</div>

</body>
</html>



\catalog\view\theme\default\template\mail\order_add.twig

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{{ title }}</title>
</head>
<body>

<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
	<tbody>
		<tr>
			<td valign="top" align="center"> 
 
 
<table style="background-color: #fdfdfd;border: 1px solid #dcdcdc;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);border-radius: 3px;" id="template_container_mr_css_attr_mr_css_attr" width="600" cellspacing="0" cellpadding="0" border="0">
<tbody>
		<tr>
			<td valign="top" align="center">
				<table style="background-color: #557da1;color: #ffffff;border-bottom: 0;font-weight: bold;line-height: 100%;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;border-radius: 3px 3px 0 0;" id="template_header_mr_css_attr_mr_css_attr" width="100%" cellspacing="0" cellpadding="0" border="0">
					<tbody>
						<tr>
							<td style="padding: 36px 48px;display: block;" id="header_wrapper_mr_css_attr_mr_css_attr">
							<h1 style="color:#ffffff;font-family:'Helvetica Neue',Helvetica, Roboto,Arial,sans-serif; font-size:30px;font-weight:300;line-height:150%; margin-bottom:0px;margin-left:0px; margin-right:0px;margin-top:0px; text-align:left;text-shadow:0 1px 0 #7797b4">Ваш заказ</h1>
							</td>
						</tr>
					</tbody>
				 </table>
			</td>	
		</tr>
				
		<tr>
			<td valign="top" align="center">	 
			<table width="600" cellspacing="0" cellpadding="0" border="0">
				<tbody>
					<tr>
					<td style="background-color: #fdfdfd;" valign="top">
					<table width="100%" cellspacing="0" cellpadding="20" border="0">
						<tbody>
							<tr>
								<td style="padding: 48px 48px 32px;" valign="top">
								
								<div style="color:#737373;font-family:'Helvetica Neue',Helvetica,Roboto,Arial,sans-serif;font-size:14px;line-height:150%;text-align:left">
														
								<h2 style="color:#557da1;display:block;font-family:'Helvetica Neue',Helvetica,Roboto,Arial,sans-serif;font-size:18px;font-weight:bold;line-height:130%;margin-bottom:18px;margin-top:18px;text-align:left"><a style="font-weight: normal;text-decoration: underline;color: #557da1;" href="" class="link_mr_css_attr_mr_css_attr" target="_blank" rel=" noopener noreferrer">[Заказ № {{order_id}}]</a> ( {{ date_added }})</h2>
			
  
<div style="margin-bottom:40px">	

  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"  cellspacing="0" cellpadding="6" border="1">
	 <tbody>
		 <tr>
			 <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Картинка</th>
			 <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Товар</th>
			 <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Количество</th> 
			 <th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">Цена</th> 
		 </tr>
	 </tbody>   


    {% for product in products %}
	<tbody>
    <tr>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">
     <a href="{{ product.href}}"><img src="{{ product.thumb}}" alt="{{ product.name }}"></a></td>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">{{ product.name }}</td>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">{{ product.quantity }}</td>
      <td style="color: #737373;border: 1px solid #e4e4e4;padding: 12px;text-align: left;vertical-align: middle;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;word-wrap: break-word;">{{ product.price }}</td>
	 </tr>
	</tbody>
	
    {% endfor %}
    {% for voucher in vouchers %}
	<tbody>
    <tr>
      <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;">{{ voucher.description }}</td>
      <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"></td>
      <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;">1</td>
      <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;">{{ voucher.amount }}</td>
      <td style="font-size: 12px;	border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;">{{ voucher.amount }}</td>
    </tr>
	</tbody>
    {% endfor %}
   
    
    <tbody>

		<tr>
		<th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" colspan="2" >{{ text_payment_method }}</th>
		<td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" >{{ payment_method }}</td>
		</tr>

    
    {% for total in totals %}
		<tr>
		<th style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" colspan="2" >{{ total.title }}</th>
		<td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;" >{{ total.text }}</td>
		</tr>
	{% endfor %}
	

     </tbody>  
  </table>
  </div>
  

 

 <p style="margin-top: 0px; margin-bottom: 20px;">{{ text_greeting }}</p>
  {% if customer_id %}
  <p style="margin-top: 0px; margin-bottom: 20px;">{{ text_link }}</p>
  <p style="margin-top: 0px; margin-bottom: 20px;"><a href="{{ link }}">{{ link }}</a></p>
  {% endif %}
  {% if download %}
  <p style="margin-top: 0px; margin-bottom: 20px;">{{ text_download }}</p>
  <p style="margin-top: 0px; margin-bottom: 20px;"><a href="{{ download }}">{{ download }}</a></p>
  <{% endif %}
  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;  margin-bottom: 20px;"  cellspacing="0" cellpadding="6" border="1">
    <thead>
      <tr>
        <th style="color:#737373;border:1px solid #e4e4e4;vertical-align:middle;padding:12px;text-align:left" colspan="1">{{ text_order_detail }}</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">
		<b>{{ text_order_id }}</b> {{ order_id }}<br />
		<b>{{ text_payment_method }}</b> {{ payment_method }}<br />		
		<b>{{ text_shipping_method }}</b> {{ shipping_method }}<br />
		<b>{{ text_email }}</b> {{ email }}<br />
		<b>{{ text_telephone }}</b> {{ telephone }}<br />          
		<b>{{ text_order_status }}</b> {{ order_status }}<br />
		</td>        
      </tr>
    </tbody>
  </table>
 
 
  
  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"  cellspacing="0" cellpadding="6" border="1">
    <thead>
      <tr>
        <th style="color:#737373;border:1px solid #e4e4e4;vertical-align:middle;padding:12px;text-align:left" colspan="1">{{ text_shipping_address }}</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">
		{{ shipping_address }}} 
		</td>        
      </tr>
    </tbody>
  </table>

    {% if comment %}
  <table style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;width: 100%;font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; margin-bottom: 20px;">
    <thead>
      <tr>
        <td style="color:#737373;border:1px solid #e4e4e4;vertical-align:middle;padding:12px;text-align:left" colspan="1">{{ text_instruction }}</td>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="color: #737373;border: 1px solid #e4e4e4;vertical-align: middle;padding: 12px;text-align: left;">{{ comment }}</td>
      </tr>
    </tbody>
  </table>
  {% endif %}
  
 

</div>
									</td>
								</tr>	
							</tbody>
						</table>
					</td>
				</tr>
			</tbody>
		</table>				
		</td>
		</tr>
	</tbody>
</table>

			</td>
		</tr>	
	</tbody>
</table>
<hr>


</body>
</html>


\catalog\controller\mail\order.php
 

<?php
class ControllerMailOrder extends Controller {
	public function index(&$route, &$args) {
		if (isset($args[0])) {
			$order_id = $args[0];
		} else {
			$order_id = 0;
		}

		if (isset($args[1])) {
			$order_status_id = $args[1];
		} else {
			$order_status_id = 0;
		}	

		if (isset($args[2])) {
			$comment = $args[2];
		} else {
			$comment = '';
		}
		
		if (isset($args[3])) {
			$notify = $args[3];
		} else {
			$notify = '';
		}
						
		// We need to grab the old order status ID
		$order_info = $this->model_checkout_order->getOrder($order_id);
		
		if ($order_info) {
			// If order status is 0 then becomes greater than 0 send main html email
			if (!$order_info['order_status_id'] && $order_status_id) {
				$this->add($order_info, $order_status_id, $comment, $notify);
			} 
			
			// If order status is not 0 then send update text email
			if ($order_info['order_status_id'] && $order_status_id && $notify) {
				$this->edit($order_info, $order_status_id, $comment, $notify);
			}		
		}
	}
		
	public function add($order_info, $order_status_id, $comment, $notify) {
		// Check for any downloadable products
		$download_status = false;

		$order_products = $this->model_checkout_order->getOrderProducts($order_info['order_id']);
		
		foreach ($order_products as $order_product) {
			// Check if there are any linked downloads
			$product_download_query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "product_to_download` WHERE product_id = '" . (int)$order_product['product_id'] . "'");

			if ($product_download_query->row['total']) {
				$download_status = true;
			}
		}
		
		// Load the language for any mails that might be required to be sent out
		$language = new Language($order_info['language_code']);
		$language->load($order_info['language_code']);
		$language->load('mail/order_add');

		// HTML Mail
		$data['title'] = sprintf($language->get('text_subject'), $order_info['store_name'], $order_info['order_id']);

		$data['text_greeting'] = sprintf($language->get('text_greeting'), $order_info['store_name']);
		$data['text_link'] = $language->get('text_link');
		$data['text_download'] = $language->get('text_download');
		$data['text_order_detail'] = $language->get('text_order_detail');
		$data['text_instruction'] = $language->get('text_instruction');
		$data['text_order_id'] = $language->get('text_order_id');
		$data['text_date_added'] = $language->get('text_date_added');
		$data['text_payment_method'] = $language->get('text_payment_method');
		$data['text_shipping_method'] = $language->get('text_shipping_method');
		$data['text_email'] = $language->get('text_email');
		$data['text_telephone'] = $language->get('text_telephone');
		$data['text_ip'] = $language->get('text_ip');
		$data['text_order_status'] = $language->get('text_order_status');
		$data['text_payment_address'] = $language->get('text_payment_address');
		$data['text_shipping_address'] = $language->get('text_shipping_address');
		$data['text_product'] = $language->get('text_product');
		$data['text_model'] = $language->get('text_model');
		$data['text_quantity'] = $language->get('text_quantity');
		$data['text_price'] = $language->get('text_price');
		$data['text_total'] = $language->get('text_total');
		$data['text_footer'] = $language->get('text_footer');
		$data['text_footer'] = $language->get('text_footer');

		$data['logo'] = $order_info['store_url'] . 'image/' . $this->config->get('config_logo');
		$data['store_name'] = $order_info['store_name'];
		$data['firstname'] = $order_info['firstname'];
		$data['lastname'] = $order_info['lastname'];
	
		$data['store_url'] = $order_info['store_url']; 
		$data['customer_id'] = $order_info['customer_id'];
		$data['link'] = $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_info['order_id'];

		if ($download_status) {
			$data['download'] = $order_info['store_url'] . 'index.php?route=account/download';
		} else {
			$data['download'] = '';
		}

		$data['order_id'] = $order_info['order_id'];
		$data['date_added'] = date($language->get('date_format_short'), strtotime($order_info['date_added']));
		$data['payment_method'] = $order_info['payment_method'];
		$data['shipping_method'] = $order_info['shipping_method'];
		$data['email'] = $order_info['email'];
		$data['telephone'] = $order_info['telephone'];
		$data['ip'] = $order_info['ip'];

		$order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'");
	
		if ($order_status_query->num_rows) {
			$data['order_status'] = $order_status_query->row['name'];
		} else {
			$data['order_status'] = '';
		}

		if ($comment && $notify) {
			$data['comment'] = nl2br($comment);
		} else {
			$data['comment'] = '';
		}

		if ($order_info['payment_address_format']) {
			$format = $order_info['payment_address_format'];
		} else {
			$format = '<b>ФИО:</b> {firstname} {lastname}</br>' . "\n" . '<b>Компания</b>: {company}' . "\n" . '<b>Адрес:</b> {address_1}' . "\n" . '{address_2}' . "\n" . '<b>Город:</b> {city} {postcode}</br>' . "\n" . '<b>Область / край</b> {zone}</br>' . "\n" . '<b>Страна</b> {country}';
		}

		$find = array(
			'{firstname}',
			'{lastname}',
			'{company}',
			'{address_1}',
			'{address_2}',
			'{city}',
			'{postcode}',
			'{zone}',
			'{zone_code}',
			'{country}'
		);

		$replace = array(
			'firstname' => $order_info['payment_firstname'],
			'lastname'  => $order_info['payment_lastname'],
			'company'   => $order_info['payment_company'],
			'address_1' => $order_info['payment_address_1'],
			'address_2' => $order_info['payment_address_2'],
			'city'      => $order_info['payment_city'],
			'postcode'  => $order_info['payment_postcode'],
			'zone'      => $order_info['payment_zone'],
			'zone_code' => $order_info['payment_zone_code'],
			'country'   => $order_info['payment_country']
		);

		$data['payment_address'] = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

		if ($order_info['shipping_address_format']) {
			$format = $order_info['shipping_address_format'];
		} else {
			$format = '<b>ФИО:</b> {firstname} {lastname}</br>' . "\n" . '<b>Компания</b>: {company}' . "\n" . '<b>Адрес:</b> {address_1}' . "\n" . '{address_2}' . "\n" . '<b>Город:</b> {city} {postcode}</br>' . "\n" . '<b>Область / край</b> {zone}</br>' . "\n" . '<b>Страна</b> {country}';
		}

		$find = array(
			'{firstname}',
			'{lastname}',
			'{company}',
			'{address_1}',
			'{address_2}',
			'{city}',
			'{postcode}',
			'{zone}',
			'{zone_code}',
			'{country}'
		);

		$replace = array(
			'firstname' => $order_info['shipping_firstname'],
			'lastname'  => $order_info['shipping_lastname'],
			'company'   => $order_info['shipping_company'],
			'address_1' => $order_info['shipping_address_1'],
			'address_2' => $order_info['shipping_address_2'],
			'city'      => $order_info['shipping_city'],
			'postcode'  => $order_info['shipping_postcode'],
			'zone'      => $order_info['shipping_zone'],
			'zone_code' => $order_info['shipping_zone_code'],
			'country'   => $order_info['shipping_country']
		);

		$data['shipping_address'] = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

		if ($order_info['shipping_address_format']) {
			$format = $order_info['shipping_address_format'];
		} else {
			$format = '<b>ФИО:</b> {firstname} {lastname}</br>' . "\n" . '<b>Компания</b>: {company}' . "\n" . '<b>Адрес:</b> {address_1}' . "\n" . '{address_2}' . "\n" . '<b>Город:</b> {city} {postcode}</br>' . "\n" . '<b>Область / край</b> {zone}</br>' . "\n" . '<b>Страна</b> {country}';
		}
		
		$this->load->model('tool/upload');

		// Products
		$data['products'] = array();

		foreach ($order_products as $order_product) {
			$option_data = array();

			$order_options = $this->model_checkout_order->getOrderOptions($order_info['order_id'], $order_product['order_product_id']);

			foreach ($order_options as $order_option) {
				if ($order_option['type'] != 'file') {
					$value = $order_option['value'];
				} else {
					$upload_info = $this->model_tool_upload->getUploadByCode($order_option['value']);

					if ($upload_info) {
						$value = $upload_info['name'];
					} else {
						$value = '';
					}
				}

				$option_data[] = array(
					'name'  => $order_option['name'],
					'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)
				);
			}

			$this->load->model('catalog/product');			
			$product_gcategory = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category p2c LEFT JOIN " . DB_PREFIX . "category_description cd ON (p2c.category_id = cd.category_id) WHERE p2c.product_id = '" . (int)$order_product['product_id'] . "'");			
			$this->load->model('tool/image');
			$product_qimage = $this->db->query("SELECT image FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$order_product['product_id'] . "'");			
			$product_category = $product_gcategory->row['category_id']; 
			 
			$product_category_name = $product_gcategory->row['name']; 
			$product_image = $product_qimage->row['image']; 
			$data['products'][] = array(
				'name'     => $order_product['name'],
				'model'    => $order_product['model'],			 
				'href'        => $this->url->link('product/product', 'product_id=' . $order_product['product_id']),
				'href_cat'   => $this->url->link('product/category&path='. $product_category),
				'name_cat'	=>  $product_category_name, 
				'thumb'     => $this->model_tool_image->resize($product_image, 70, 70), 			
				'option'   => $option_data,
				'quantity' => $order_product['quantity'],
				'price'    => $this->currency->format($order_product['price'] + ($this->config->get('config_tax') ? $order_product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
				'total'    => $this->currency->format($order_product['total'] + ($this->config->get('config_tax') ? ($order_product['tax'] * $order_product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value'])
			);
		}

		// Vouchers
		$data['vouchers'] = array();

		$order_vouchers = $this->model_checkout_order->getOrderVouchers($order_info['order_id']);

		foreach ($order_vouchers as $order_voucher) {
			$data['vouchers'][] = array(
				'description' => $order_voucher['description'],
				'amount'      => $this->currency->format($order_voucher['amount'], $order_info['currency_code'], $order_info['currency_value']),
			);
		}

		// Order Totals
		$data['totals'] = array();
		
		$order_totals = $this->model_checkout_order->getOrderTotals($order_info['order_id']);

		foreach ($order_totals as $order_total) {
			$data['totals'][] = array(
				'title' => $order_total['title'],
				'text'  => $this->currency->format($order_total['value'], $order_info['currency_code'], $order_info['currency_value']),
			);
		}
	
		$this->load->model('setting/setting');
		
		$from = $this->model_setting_setting->getSettingValue('config_email', $order_info['store_id']);
		
		if (!$from) {
			$from = $this->config->get('config_email');
		}
		
		$mail = new Mail($this->config->get('config_mail_engine'));
		$mail->parameter = $this->config->get('config_mail_parameter');
		$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
		$mail->smtp_username = $this->config->get('config_mail_smtp_username');
		$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
		$mail->smtp_port = $this->config->get('config_mail_smtp_port');
		$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

		$mail->setTo($order_info['email']);
		$mail->setFrom($from);
		$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
		$mail->setSubject(html_entity_decode(sprintf('[Новый Мир] Ваш заказ', $this->config->get('config_name'), $order_info['order_id']), ENT_QUOTES, 'UTF-8'));
		$mail->setHtml($this->load->view('mail/order_add', $data));
		$mail->send();
		
		
		$mail->setTo($this->config->get('config_email'));
		$mail->setFrom($this->config->get('config_email'));
		$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
		$mail->setSubject(html_entity_decode(sprintf('[Новый Мир] Новый заказ', $this->config->get('config_name'), $order_info['order_id']), ENT_QUOTES, 'UTF-8'));
		$mail->setHtml($this->load->view('mail/order_alert', $data));
		$mail->send();
		 
	}
	
	public function edit($order_info, $order_status_id, $comment) {
		$language = new Language($order_info['language_code']);
		$language->load($order_info['language_code']);
		$language->load('mail/order_edit');

		$data['text_order_id'] = $language->get('text_order_id');
		$data['text_date_added'] = $language->get('text_date_added');
		$data['text_order_status'] = $language->get('text_order_status');
		$data['text_link'] = $language->get('text_link');
		$data['text_comment'] = $language->get('text_comment');
		$data['text_footer'] = $language->get('text_footer');

		$data['order_id'] = $order_info['order_id'];
		$data['date_added'] = date($language->get('date_format_short'), strtotime($order_info['date_added']));
		
		$order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'");
	
		if ($order_status_query->num_rows) {
			$data['order_status'] = $order_status_query->row['name'];
		} else {
			$data['order_status'] = '';
		}

		if ($order_info['customer_id']) {
			$data['link'] = $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_info['order_id'];
		} else {
			$data['link'] = '';
		}

		$data['comment'] = strip_tags($comment);

		$this->load->model('setting/setting');
		
		$from = $this->model_setting_setting->getSettingValue('config_email', $order_info['store_id']);
		
		if (!$from) {
			$from = $this->config->get('config_email');
		}
		
		$mail = new Mail($this->config->get('config_mail_engine'));
		$mail->parameter = $this->config->get('config_mail_parameter');
		$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
		$mail->smtp_username = $this->config->get('config_mail_smtp_username');
		$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
		$mail->smtp_port = $this->config->get('config_mail_smtp_port');
		$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

		$mail->setTo($order_info['email']);
		$mail->setFrom($from);
		$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
		$mail->setSubject(html_entity_decode(sprintf('[Новый Мир] Новый тест заказ', $this->config->get('config_name'), $order_info['order_id']), ENT_QUOTES, 'UTF-8'));
		$mail->setText($this->load->view('mail/order_edit', $data));
		$mail->send();
	}
	

}

 

Змінено користувачем AleksLex
  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.