2014-01-17 2 views
1

Я создал модуль Joomla и добавлен пользовательский тип поля в конфигурации параметров в интерфейсе, с помощью файла .xml так:Joomla 3,0-прибудет модуль идентификатор внутри пользовательской формы

<fields name="params"> 
    <fieldset 
     addfieldpath="/modules/<module_name>/fields" name="basic"> 
      <field name="articles" type="articles" label="label" /> 

. 
. 
. 
</fields> 

Это работает довольно отлично, но остается вопрос: как я могу получить доступ к id модуля внутри настраиваемого класса поля при вызове для создания полей html?

Спасибо заранее!

ОБНОВЛЕНИЕ

я выкопал немного глубже в том, что нашел JModuleHelper::getModule($type, $name) метод, который возвращает либо первый модуль данного $type, если нет $name не указан, или модуль данного $type, имеющего $name, , но, так как можно создавать модули с тем же именем, этот подход отчасти уродлив.

+0

$ приложение = JFactory :: getApplication(); $ module_id = $ app-> input-> getInt ('id'); –

ответ

1

Решение проблемы спрятать URL, а в случае с Joomla, в JInput. Полное и более многословным объяснение here (а нижняя), но короче:

Адрес экрана модуля редактирования:

index.php?option=com_modules&view=module&layout=edit&id=87 

было бы слишком просто, чтобы просто использовать это ...