Форум русской поддержки Joomla!® CMS
08.12.2016, 13:58:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Отправка письма из любого места

 (Прочитано 62 раз)
0 Пользователей и 1 Гость смотрят эту тему.
truba
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 12


« : 30.11.2016, 15:17:19 »

Здравствуйте, извиняюсь за неграмотность, но нужна помощь, подскажите пожалуйста, как можно инициировать отправку письма из самописного файла 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
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #1 : 30.11.2016, 15:35:59 »

Скорее всего, из-за неправильных путей. Обратите внимание на константы JPATH_COMPONENT, JPATH_COMPONENT_SITE, JPATH_COMPONENT_ADMINISTRATOR: они меняются в зависимости от текущего компонента.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #2 : 30.11.2016, 15: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
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 12


« Ответ #3 : 30.11.2016, 15: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, 15:53:21 от truba » Записан
truba
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 12


« Ответ #4 : 30.11.2016, 16:07:40 »

ура, письмо пришло) спасибо вам вместе помогли!
вот это добавил и всё норм стало define('JPATH_COMPONENT_SITE', JPATH_BASE.'/components/com_jshopping' );

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

Репутация: +798/-4
Online Online

Сообщений: 7774



« Ответ #5 : 30.11.2016, 16:29:43 »

а да, виноват, посмотрел- JModelLegacy::addIncludePath выполняется в точке входа в компонент, а не в фактори.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet