Здравствуйте. Подскажите пжлста как добавить поле загрузки файла в админке для модуля? так понимаю в хml-ке нету такого параметра как input type='file' ? как это можно сдлеать по другому?
Очень просто: в файле mod_name.xml прописываете: Код (CODE): <params addpath="/modules/mod_вашмодуль/elements"> <param name="file_upld" type="file" label="Загрузка файла" description="Загрузка файла" /> </params> Обратите внимание на атрибут "addpath" - это путь где джумла будет искать описание кастомного элемента. В директории модуля создайте директорию elements/ и поместите в неё файл file.php (по названию атрибута type элемента param) там разместите следующий код: Код (PHP): <?php defined('_JEXEC') or die('Restricted access'); class JElementFile extends JElement { function fetchElement($name, $value, &$node, $control_name) { $size = $node->attributes('size'); return '<input type="file" name="'.$control_name.'['.$name.']" id = "'.$control_name.$name.'" value="'.$value.'" size="'.$size.'"/>'; } } Здесь при помощи класса JElementИмяпараметра, который расширяет класс JElement мы, перегружая метод fetchElement - получаем HTML код элемента (в нашем случае input type="file") , заполняя его атрибуты значениями из mod_name.xml - они приходят в этот метод как параметры: $name = имя_параметра, $value = значение по-умолчанию, &$node =Сам элемент "<param .. />" приходит как XML-узел (у него есть метод" attributes" - через который мы можем получить доступ к его атрибутам), $control_name= имя массива параметров, все элементы форм (параметры) для модулей находятся в массиве "param" (просмотрите HTML код параметров любого модуля и вы увидите: <input name="param[some_name]..."). В теге: Код (CODE): <params addpath="/modules/mod_вашмодуль/elements"> ... </params> - можно размещать любое кол-во параметров, как стандартных, так и не стандартных, файлы описания не стандартных параметров ждумла будет искать в пути: addpath="/modules/mod_вашмодуль/elements Вам осталось теперь только понять как обработать полученный файл