#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-адреса в целях безопасности.