Потребовалось добавить поле с категориями в компонент, но встроенные типы полей не подошли.
Для таких случаев, есть возможность добавить свой тип полей.
Как сделать произвольное поле в панели администрирования для своего компонента
06.07.2015
- В файле
/administrator/components/com_test/models/forms/item.xml
1
2
3
4
5
6
7<field name="id_ category" type="category" label="Select an category" query="SELECT id, title FROM real_ category" key_field="title" > </field>
- Добавил в компонент файл: /administrator/components/com_test/models/fields/category.php
С кодом:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22class JFormFieldСategory extends JFormFieldList { protected $type = 'Сategory'; public function getOptions() { $options = array(); $db = JFactory::getDBO(); $query = $db->getQuery(true) ->select('id As value, title As text') ->from('real_сategory AS a') ->order('a.title'); $db->setQuery($query); $data=$db->loadObjectList(); $options = $db->loadObjectList(); return array_merge(parent::getOptions(), $options); } }