2014-01-22 5 views
0

Я начинающий в joomla. Я создаю собственный компонент и хотел бы использовать модель из другого компонента (именно для контент-компоновщика). я нахожу несколько различных способов, как создать модель, но моя проблема заключается в том, чтоJoomla Как я могу создать модель из другого компонента

класс ContentbuilderModelEdit расширяет JModel

использовать JPATH_COMPONENT_ADMINISTRATOR в нем. Когда я создаю модель ContentbuilderModelEdit, я получаю предупреждения в строках с использованием константы JPATH_COMPONENT_ADMINISTRATOR.

Возможно ли создание модели с использованием этой константы из другого компонента?

Спасибо за ответы

ответ

2

Увы, нет. JPATH_COMPONENT и JPATH_COMPONENT_ADMINISTRATOR являются константами defined и не могут быть изменены.

Иногда разработчики делают это инстинктивно (это легко), не осознавая того ограничения, которое они накладывают на других разработчиков. Вы можете обратиться к разработчикам и предложить такое изменение; если они согласятся, вы выиграли; если они этого не делают, написать sed скрипт, который выполняет изменения (заменяющие его с JPATH_SITE и JPATH_ADMINISTRATOR . '/components/com_contentbuilder', и применять его после каждого обновления.

Или скопируйте их модели в компонент и переименовать его, если он поддерживает его.

0

:)

для вызова модели из другого компонента, необходимо, во-первых, чтобы указать путь этой модели:

JModelLegacy::addIncludePath(JPATH_SITE . '/components/comp1/models', 'Comp1Model'); 

Во-вторых, вы должны создать экземпляр вашего модель:

$model = JModelLegacy::getInstance('Model1', 'Comp1Model'); 

После этого вы должны быть в состоянии использовать методы своей модели.

ref link

Смежные вопросы