Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 mailalerts
ElenkaM
Новичок
Сообщений: 24
Регистрация: 17-07-2014


28-02-2015 16:51
Как в письме заказа выводить не все атрибуты товара?
Есть товар - шапка вязаная, товар имеет название, состав и цвет
В приходящем письме через модуль mailalerts столбец товар содержит записи: название товара - Состав : () Цвет : черный. Что нужно сделать чтоб атрибут сосав не выводился, я так понимаю изменения нужно вносить в mailalerts.php, может кто подскажет какая переменная отвечает за вывод атрибутов.
Еще вопрос, модуль modrefchange меняет в номере заказа буквы на цифры (Заказ: №18). В админке и в приходящих письмах покупателя все работает, а в письмах приходящих через модуль mailalerts выводится буквы Заказ: MIZFQJNRL, может кто-то сталкивался, какие изменения нужно внести?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


28-02-2015 19:05
Цитата:( ElenkaM @ 28-02-2015 17:51 Смотреть сообщение )
Что нужно сделать чтоб атрибут сосав не выводился

Открыть /modules/mailalerts/mailalerts.php и изменить кодировку файла на UTF-8.
после:
Код:
foreach ($products as $key => $product)
        {

добавить:
Код:
$product['product_name'] = preg_replace("/Состав.?:([0-9a-z-а-я() ]*)/i", "", $product['product_name']);


Цитата:( ElenkaM @ 28-02-2015 17:51 Смотреть сообщение )
а в письмах приходящих через модуль mailalerts выводится буквы Заказ: MIZFQJNRL, может кто-то сталкивался, какие изменения нужно внести?

Файл: /modules/mailalerts/mailalerts.php
Код:
$order->reference

заменить на:
Код:
$order->id
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ElenkaM
Новичок
Сообщений: 24
Регистрация: 17-07-2014


02-03-2015 16:39
Цитата:( Алекс @ 28-02-2015 14:05 Смотреть сообщение )
Цитата:( ElenkaM @ 28-02-2015 17:51 Смотреть сообщение )
Что нужно сделать чтоб атрибут сосав не выводился
Открыть /modules/mailalerts/mailalerts.php и изменить кодировку файла на UTF-8.
после:
Код:
foreach ($products as $key => $product)
        {

добавить:
Код:
$product['product_name'] = preg_replace("/Состав.?:([0-9a-z-а-я() ]*)/i", "", $product['product_name']);


Спасибо за подробный ответ
Работает, но не совсем.
Строка до изменения: шапка Maison - Состав : Wool 50%, Acril 50%, Inside: fleece , Цвет : серый
После добавления кода выводит: шапка Maison - %, Acril 50%, Inside: fleece , Цвет : серый
Может я не том месте располагаю код? Вот фрагмент кода из mailalerts.php
Код:
foreach ($products as $key => $product)
        {
            $product['product_name'] = preg_replace("/Состав.?:([0-9a-z-а-я() ]*)/i", "", $product['product_name']);
            $unit_price = $product['product_price_wt'];

            $customization_text = '';
            if (isset($customized_datas[$product['product_id']][$product['product_attribute_id']]))
            {
                foreach ($customized_datas[$product['product_id']][$product['product_attribute_id']][$order->id_address_delivery] as $customization)
                {
                    if (isset($customization['datas'][_CUSTOMIZE_TEXTFIELD_]))
                        foreach ($customization['datas'][_CUSTOMIZE_TEXTFIELD_] as $text)
                            $customization_text .= $text['name'].': '.$text['value'].'<br />';

                    if (isset($customization['datas'][_CUSTOMIZE_FILE_]))
                        $customization_text .= count($customization['datas'][_CUSTOMIZE_FILE_]).' '.$this->l('image(s)').'<br />';

                    $customization_text .= '---<br />';
                }
                if (method_exists('Tools', 'rtrimString'))
                    $customization_text = Tools::rtrimString($customization_text, '---<br />');
                else
                    $customization_text = preg_replace('/---<br \/>$/', '', $customization_text);
            }

            $items_table .=
                '<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
                    <td style="padding:0.6em 0.4em;">'.$product['product_reference'].'</td>
                    <td style="padding:0.6em 0.4em;">
                        <strong>'
                            .$product['product_name']
                            .(isset($product['attributes_small']) ? ' '.$product['attributes_small'] : '')
                            .(!empty($customization_text) ? '<br />'.$customization_text : '')
                        .'</strong>
                    </td>
                    <td style="padding:0.6em 0.4em; text-align:right;">'.Tools::displayPrice($unit_price, $currency, false).'</td>
                    <td style="padding:0.6em 0.4em; text-align:center;">'.(int)$product['product_quantity'].'</td>
                    <td style="padding:0.6em 0.4em; text-align:right;">'
                        .Tools::displayPrice(($unit_price * $product['product_quantity']), $currency, false)
                    .'</td>
                </tr>';
        }

А с номером заказа все получилось, спасибо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-03-2015 16:56
Код:
$product['product_name'] = preg_replace("/Состав.?:([0-9a-z-а-я() ]*)/i", "", $product['product_name']);

заменить на:
Код:
$product['product_name'] = preg_replace("/Состав.?: ([,!#$%&\'+=?^`{}0-9a-z-а-я()]*)/i", "", $product['product_name']);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ElenkaM
Новичок
Сообщений: 24
Регистрация: 17-07-2014


02-03-2015 17:19
заменить на:
Код:
$product['product_name'] = preg_replace("/Состав.?: ([,!#$%&\'+=?^`{}0-9a-z-а-я()]*)/i", "", $product['product_name']);

[/quote]

:( не получается, выводит больше инфомации: шапка Triumf - 50%, Acril 50%, Inside: fleece , Цвет : серый
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-03-2015 17:31
Код:
$product['product_name'] = preg_replace("/Состав.?: ([,!#$%&\'+=?^`{}0-9a-z-а-я() ]*),/i", "", $product['product_name']);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ElenkaM
Новичок
Сообщений: 24
Регистрация: 17-07-2014


02-03-2015 17:41
Цитата:( Алекс @ 02-03-2015 12:31 Смотреть сообщение )
Код:
$product['product_name'] = preg_replace("/Состав.?: ([,!#$%&\'+=?^`{}0-9a-z-а-я() ]*),/i", "", $product['product_name']);


Теперь выводит: шапка Triumf - Inside: fleece
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-03-2015 18:06
Код:
$product['product_name'] = preg_replace("Состав.?: ([,!#$%&\'+=?^`{}0-9a-z-а-я(): ]*),/i", "", $product['product_name'])
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ElenkaM
Новичок
Сообщений: 24
Регистрация: 17-07-2014


02-03-2015 19:25
Цитата:( Алекс @ 02-03-2015 13:06 Смотреть сообщение )
Код:
$product['product_name'] = preg_replace("Состав.?: ([,!#$%&\'+=?^`{}0-9a-z-а-я(): ]*),/i", "", $product['product_name'])


В таком случае вообще ничего не выводит ни название товара, ни его атрибуты
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-03-2015 19:37
Цитата:( ElenkaM @ 02-03-2015 20:25 Смотреть сообщение )
В таком случае вообще ничего не выводит ни название товара, ни его атрибуты


Невозможно. Проверяйте код, где-то при копировании допустили ошибку.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >