0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 337 Просмотров
*

truba

  • Новичок
  • 12
  • 0 / 0
Здравствуйте, извиняюсь за неграмотность, но нужна помощь, подскажите пожалуйста, как можно инициировать отправку письма из самописного файла php.

Пытаюсь сделать так :
....
    JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_jshopping/models');
    $checkout = JSFactory::getModel('checkout', 'jshop');
    $checkout->sendOrderEmail($order_id);
....

т.е. есть id заказа, нужно инициировать выполнение sendOrderEmail когда мне нужно.

через var_dump понял что спотыкается при построении вида письма в файле /components/com_jshopping/models/checkout.php

вот здесь: $view = new JshoppingViewCheckout($view_config);

Понимаю что если написать плагин то может это всё само рассосется, но всё же хочется понять как обойти создание плагина и напрямую инициировать sendOrderEmail. В чем может быть причина ошибки в этом месте:  $view = new JshoppingViewCheckout($view_config); подойдут даже гипотезы)  Заранее всем спасибо!




*

robert

  • Живу я здесь
  • 4611
  • 429 / 16
Re: Отправка письма из любого места
« Ответ #1 : 30.11.2016, 14:35:59 »
Скорее всего, из-за неправильных путей. Обратите внимание на константы JPATH_COMPONENT, JPATH_COMPONENT_SITE, JPATH_COMPONENT_ADMINISTRATOR: они меняются в зависимости от текущего компонента.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 12270
  • 1164 / 7
Re: Отправка письма из любого места
« Ответ #2 : 30.11.2016, 14:39:54 »
Пытаюсь сделать так :
....
    JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_jshopping/models');
это не нужно.

это
Код
require_once JPATH_SITE . '/components/com_jshopping/lib/factory.php';
есть?

ну и хотелось бы вместо построения гипотез
ошибки в этом месте:  $view = new JshoppingViewCheckout($view_config); подойдут даже гипотезы
увидеть какая именно ошибка
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

truba

  • Новичок
  • 12
  • 0 / 0
Re: Отправка письма из любого места
« Ответ #3 : 30.11.2016, 14:50:11 »
Скорее всего, из-за неправильных путей. Обратите внимание на константы JPATH_COMPONENT, JPATH_COMPONENT_SITE, JPATH_COMPONENT_ADMINISTRATOR: они меняются в зависимости от текущего компонента.
JPATH_COMPONENT_SITE да неопределен но я его заменил так было:
include_once(JPATH_COMPONENT_SITE."/views/checkout/view.html.php");
так стало : include_once(JPATH_ROOT."/components/com_jshopping"."/views/checkout/view.html.php");

может конечно и неверно заменил

dmitry_stas,

если убираю JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_jshopping/models'); то ошибка уже тут сразу $checkout = JSFactory::getModel('checkout', 'jshop');

require_once (JPATH_SITE.'/components/com_jshopping/lib/factory.php'); да есть.

ошибку попробую вывести, сейчас просто аяксом запускается php а он ошибку не возвращает, только пишет что 500.
« Последнее редактирование: 30.11.2016, 14:53:21 от truba »
*

truba

  • Новичок
  • 12
  • 0 / 0
Re: Отправка письма из любого места
« Ответ #4 : 30.11.2016, 15:07:40 »
ура, письмо пришло) спасибо вам вместе помогли!
вот это добавил и всё норм стало define('JPATH_COMPONENT_SITE', JPATH_BASE.'/components/com_jshopping' );

ну и без вывода ошибок не справился бы) так что спасибо за подсказки!!
*

dmitry_stas

  • Легенда
  • 12270
  • 1164 / 7
Re: Отправка письма из любого места
« Ответ #5 : 30.11.2016, 15:29:43 »
а да, виноват, посмотрел- JModelLegacy::addIncludePath выполняется в точке входа в компонент, а не в фактори.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор ufg

Ответов: 8
Просмотров: 662
Последний ответ 02.11.2018, 18:45:58
от Al.exe
Изменить кодировку письма о смене статуса заказа ( Content-Type: text/html; )

Автор Cerber

Ответов: 8
Просмотров: 1003
Последний ответ 15.10.2018, 15:31:24
от fiksius
Из JoomShopping не дошли клиентам письма с подтверждением регистрации, как быть?

Автор Karagan

Ответов: 2
Просмотров: 272
Последний ответ 04.10.2018, 22:19:09
от Karagan
Вопрос по поводу кодировки письма по умолчанию ($mailer->Encoding = 'base64';)

Автор spmash

Ответов: 1
Просмотров: 208
Последний ответ 16.01.2018, 20:22:31
от kern.USR
Как сделать шапку письма

Автор anny_k

Ответов: 0
Просмотров: 212
Последний ответ 29.11.2017, 12:17:58
от anny_k