HelpMe: Не получается вызвать нужный мэппер плагина из ajax-файла

Помогите разобраться!

Пишу свой плагин. В подменяемом шаблоне есть функция, которая через Ajax должна получить набор данных и вывести на странице.

Запрос отправляется к нужному файлу
/plugins/<mytitle>/include/ajax/filename.php

— тут все нормально. Однако я не могу правильно получить объект нужного маппера из плагина.

Пытаюсь получить данные так:

$data = $oEngine->Plugin<MyTitle>_<MyPluginModule>_<MethodName>($args);


Но оно ругается:

[ERROR:clasLoad] <MyPluginModule> File not found: /***/classes/modules/<MyPluginModule>/<MyPluginModule>.class.php
Fatal error: Class 'Plugin<MyTitle>_<MyPluginModule>' not found in /***/engine/classes/Engine.class.php on line 162


Уже пробовал по-разному, но все равно не выходит.
Как это правильно сделать, если я нахожусь в файле, который не является классом?

Заранее спасибо.
Если я путано объяснил, могу написать подробнее.

5 комментариев

avatar
Никто не может помочь?
  • UJey
  • -1
avatar
У меня была та-же ошибка, она глупая до ужаса. Вот правильный код:
$data = $oEngine->Plugin<MyTitle>_Module<MyPluginModule>_<MethodName>($args);
avatar
Не помогает. Оно все равно пытается найти мой модуль в папке /classes/modules/ вместо того, чтобы смотреть в сторону /plugins//classes/modules/.

Такое ощущение, что через $oEngine можно только встроенные модули подключать, но не плагины…

Помогите разобраться!
avatar
Извиняюсь, моя конструкция запроса выше — не правильная. Я просто не понял суть проблемы =)
Можете тут выложить или в личку скинуть код ajax обработчика? Я посмотрю его.
avatar
Shatter, большое Вам человеческое спасибо!!!
Начал писать длинный трактат, чтобы обрисовать ситуацию и сам нашел свою ошибку :)

Суть проблемы для тех, кто так же столкнется с подобной ситуацией:
Я взял модуль из папки /ls/classes/modules/ и переделывал его под себя. Однако я совсем упустил из вида тот факт, что в модулях плагина в названии класса должен быть полный путь, начиная с названия самого плагина.

Т.е. у меня было:
class Module<MyModuleName> extends Module

А надо:
class Plugin<MyPluginName>_Module<MyModuleName> extends Module

И это касается также классов сущностей и мэпперов.
Вроде глупая ошибка, а не заметил…

Еще раз спасибо за помощь!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.