Вход • Регистрация

Где отредактировать %order ?

  • 01 сентября 2016 г.
  • Интересует редактирование внешнего вида уведомления админу на имейл при новом заказе.

    Чтобы именно внешний вид таблицы поменять, вырезать оттуда картинки и чтобы сумма не по каждой позиции была, а общим итогом внизу.
  • 01 сентября 2016 г.
  • добавить отдельный шаблон письма для админа в modules\cart\cart.action.php
    Код
    private function send_mails($order_id, $params, $payment)
    {
    Custom::inc('includes/mail.php');

    $cart = $this->diafan->_tpl->get('table_mail', 'cart', $this->diafan->_shop->order_get($order_id));
    $cart_admin = $this->diafan->_tpl->get('table_admin_mail', 'cart', $this->diafan->_shop->order_get($order_id));
    $payment_name = '';
    if($payment)
    {
    $payment_name = $payment["name"];
    if($payment["payment"] == 'non_cash')
    {
    $p = DB::query_fetch_array("SELECT code, id FROM {payment_history} WHERE module_name='cart' AND element_id=%d", $order_id);
    $payment_name .= ', <a href="'.BASE_PATH.'payment/get/non_cash/ul/'.$p["id"].'/'.$p["code"].'/">'.$this->diafan->_('Счет для юридических лиц', false).'</a>,
    <a href="'.BASE_PATH.'payment/get/non_cash/fl/'.$p["id"].'/'.$p["code"].'/">'.$this->diafan->_('Квитанция для физических лиц', false).'</a>';
    }
    }

    $user_email = $this->diafan->_users->mail;
    $user_phone = $this->diafan->_users->phone;
    $user_fio = $this->diafan->_users->fio;
    foreach ($params as $param)
    {
    if ($param["type"] == "email" && ! empty($_POST["p".$param["id"]]))
    {
    $user_email = $_POST["p".$param["id"]];
    }
    if ($param["info"] == "phone" && ! empty($_POST["p".$param["id"]]))
    {
    $user_phone = $_POST["p".$param["id"]];
    }
    if ($param["info"] == "name" && ! empty($_POST["p".$param["id"]]))
    {
    $user_fio = $_POST["p".$param["id"]];
    }
    }

    //send mail admin
    $subject = str_replace(array('%title', '%url', '%id', '%message'),
    array(TITLE, BASE_URL, $order_id, strip_tags($this->message_admin_param)),
    $this->diafan->configmodules('subject_admin', 'shop')
    );

    $message = str_replace(
    array('%title',
    '%url',
    '%id',
    '%message',
    '%order',
    '%payment',
    '%fio'
    ),
    array(
    TITLE,
    BASE_URL,
    $order_id,
    $this->message_admin_param,
    $cart_admin,
    $payment_name,
    $user_fio
    ),
    $this->diafan->configmodules('message_admin', 'shop'));

    send_mail(
    $this->diafan->configmodules("emailconfadmin", 'shop') ? $this->diafan->configmodules("email_admin", 'shop') : EMAIL_CONFIG,
    $subject,
    $message,
    $this->diafan->configmodules("emailconf", 'shop') ? $this->diafan->configmodules("email", 'shop') : ''
    );

    if(in_array("subscribtion", $this->diafan->installed_modules))
    {
    if(! empty($user_phone))
    {
    $phone = preg_replace('/[^0-9]+/', '', $user_phone);
    if(! DB::query_result("SELECT id FROM {subscribtion_phones} WHERE phone='%s' AND trash='0'", $user_phone))
    {
    DB::query("INSERT INTO {subscribtion_phones} (phone, name, created, act) VALUES ('%s', '%h', %d, '1')", $user_phone, $user_fio, time());
    }
    }
    }

    //send mail user
    if (empty($user_email))
    {
    return;
    }

    if(in_array("subscribtion", $this->diafan->installed_modules) && ! empty($_POST['subscribe_in_order']))
    {
    $row_subscribtion = DB::query_fetch_array("SELECT * FROM {subscribtion_emails} WHERE mail='%s' AND trash='0' LIMIT 1", $user_email);

    if(empty($row_subscribtion))
    {
    $code = md5(rand(111, 99999));
    DB::query("INSERT INTO {subscribtion_emails} (created, mail, name, code, act) VALUES (%d, '%s', '%s', '%s', '1')", time(), $user_email, $user_fio, $code);
    }
    elseif(! $row_subscribtion["act"])
    {
    DB::query("UPDATE {subscribtion_emails} SET act='1', created=%d WHERE id=%d", $row_subscribtion['id'], time());
    }
    }

    $subject = str_replace(
    array('%title', '%url', '%id'),
    array(TITLE, BASE_URL, $order_id),
    $this->diafan->configmodules('subject', 'shop')
    );

    $message = str_replace(
    array('%title', '%url', '%id', '%message', '%order', '%payment', '%fio'),
    array(
    TITLE,
    BASE_URL,
    $order_id,
    $this->message_param,
    $cart,
    $payment_name,
    $user_fio
    ),
    $this->diafan->configmodules('message', 'shop')
    );
    send_mail(
    $user_email,
    $subject,
    $message,
    $this->diafan->configmodules("emailconf", 'shop') ? $this->diafan->configmodules("email", 'shop') : ''
    );
    }

    сделать копию modules\cart\views\cart.view.table_mail.php в modules\cart\views\cart.view.table_admin_mail.php
    отредактировать шаблон как необходимо.
    Во вложении архив с этими модификациями, устанавливать как любое дополнение через темы. Останется только исправить cart.view.table_admin_mail.php.
    • 01 сентября 2016 г.
    • Цитата
      Останется только исправить cart.view.table_admin_mail.php

      в плане настроить содержимое?
      • 01 сентября 2016 г.
      • Т.е. открыть редактором указанный файл и отредактировать его так, как Вам нужно.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум