joomla как вызвать внутреннюю функцию в действии формы в модуле

#joomla3.0 #joomla-component #joomla-module

#joomla3.0 #joomla-компонент #joomla-модуль

Вопрос:

это моя файловая структура в моих модулях: /module/com_somthing

 <form class="form-horizontal" role="form" id="e_brochure" name="e_brochure"    method="post" action=">
</form>
 

это моя файловая структура в моем controller.php : администратор/компонент/com_somthing

 function addreqinfo()
{
}
 

Я хочу вызвать addreqinfo при отправке формы / при выполнении действия

Ответ №1:

Функции в контроллере вызываются задачами. Ваша ссылка на действие в форме будет выглядеть примерно так:

 JRoute::_("index.php?option=com_somthingamp;task=addreqinfo")
 

JRoute создаст оптимизированную для SEO версию URL-адреса в зависимости от того, как настроен ваш маршрутизатор в компоненте.

Дополнительная информация здесь: http://docs.joomla.org/Absolute_Basics_of_How_a_Component_Functions

(ПРИМЕЧАНИЕ также — модуль и компонент — это разные вещи — стоит изучить разницу, если вы используете Joomla)

Комментарии:

1. JRoute::_(«index.php?option=com_somthingamp;task= addreqinfo») это я уже сделал … Но я хочу вызвать task из admin/component/com_somthing/view/controller.php

Ответ №2:

Развивая правильный ответ Ричарда, в зависимости от необходимости вы также можете вызывать методы на конкретном контроллере представлений. Итак, если у вас было представление виджетов и вы хотели использовать AJAX для вызова метода update() в контроллере виджетов, вы могли бы использовать приведенный ниже URL:

 JRoute::_('index.php?option=com_somethingamp;task=widgets.update');
 

Вы также можете добавить любые необходимые дополнительные параметры к URL-адресу; и в качестве наилучшей практики обязательно прикрепите маркер к форме или параметрам URL-адреса в целях безопасности.