1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Помощь Обработка плагином sourcerer тела email сообщения

Тема в разделе "Joomla", создана пользователем vipTelnet, 8 фев 2015.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Модераторы: arman29, DMS, Genk0
  1. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    133
    Симпатии:
    11
    Всем привет
    Использую вот такой компонент InteraMind - VirtueMart Email Manager 3.1.1 для настройки писем которые отправляет VirtueMart
    все хорошо и компонент отличный, но есть не приятный момент мне все таки не хватает, установленных там переменных для показа по умолчанию и есть необходимость кое за чем заглянуть в базу кое что там пересчитать вообщем это все нюансы,
    Я установил плагин sourcerer как раз для исполнения кода введенного в редактор, но код написанные мною не исполнился а теле письма я просто вижу
    Всего {source}{/source}р
    т.е теги {source}{/source} просто не обработались и php код что был внутри не исполнился
    так вот я посмотрел код и нашел там функцию которая занимается отправкой писем через этот компонент

    Код:
        private function sendEmail($isTestMode, $isSendAdminReg, $email, $subject, $body, $cc_list, $bcc_list, $attachment_list, $replyto = null, $shopper_name = null){
            $this->loadVirtueMartFiles();
            $mainframe = JFactory::getApplication();
            $result = true;
           
            $vendorEmail = $this->vmEmailsHelper->getVendorEmail();
            $vendorName = $this->vmEmailsHelper->getVendorName();
           
            if($isTestMode || !$this->_isIgnoreEmail && $isSendAdminReg){
                if($this->_emailType == vmemailsModelVmemails::$TYPE_ADMIN_ORDER_CONFIRM){
                    $isSendAdminEmailFromUser = $this->vmEmailsHelper->getParamByName('send_admin_mail_from_user');
                    if($isSendAdminEmailFromUser){
                        $result = $this->vmEmailsHelper->send_email( $replyto, $shopper_name, $vendorEmail, $subject, $body, $cc_list, $bcc_list, $attachment_list);
                    }else{
                        $result = $this->vmEmailsHelper->send_email( $vendorEmail, $vendorName, $vendorEmail, $subject, $body, $cc_list, $bcc_list, $attachment_list);
                    }
                   
                }else{
                    $result = $this->vmEmailsHelper->send_email($vendorEmail, $vendorName, $email, $subject, $body, $cc_list, $bcc_list, $attachment_list);
                }
            }
           
            vmEmailsLogger::log('sendEmail() result='.$result, vmEmailsLogger::LEVEL_DEBUG);
           
            return $result;
        }

    вот как видно из этой функции там есть переменная $body в которой как раз и содержится тело сообщения
    подскажите как можно все таки эту переменную пропустить через плагин sourcerer что б код который находится внутри тегов исполнился
     
  2. KZ RUS

    KZ RUS Писатель

    Регистр.:
    17 янв 2015
    Сообщения:
    7
    Симпатии:
    7
    Может я что-то недопонимаю, но как может код исполнятся в теле сообщения? На сайте плагин отслеживает код и преобразует, как он может работать с текстом сообщений??