Я хотел создать модуль joomla с выпадающим списком с множественным выбором, который будет содержать категории меню (например, главное меню, меню продукта и т. Д.). После некоторых исследований я обнаружил, что для выбора мы используем некоторые компоненты и редактируем / переопределяем их. Я нашел пример с раскрывающимся списком контактов, в котором он использовал этот код XML:
<field
name="catid"type="category"extension="com_contact"multiple="true"default=""size="10"label="JCATEGORY">
и этот вспомогательный код:
<?php
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JModel::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_contact/models','ContactModel');
class modtestHelper
{
public function getList(&$params)
{
$app= JFactory::getApplication();
$db= JFactory::getDbo();
$model= JModel::getInstance('Contacts', 'ContactModel',array('ignore_request' => true));
$appParams = JFactory::getApplication()->getParams();
$model->setState('params', $appPaParams);
$model->setState('list.start', 0);
$model->setState('list.limit', (int) $params->get('count',5));
$model->setState('filter.published', 1);
$model->setState('list.select', 'a.id, a.name, a.catid' . ', a.address, a.suburb, a.postcode, a.state,a.telephone ' .', a.published, a.access, a.ordering, a.language'.', a.publish_up, a.publish_down');
$access = !JComponentHelper::getParams('com_contact')->get('show_noauth');
$authorised =JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
$model->setState('filter.access', $access);
$model->setState('filter.category_id', $params->get('catid', array()));
$model->setState('filter.language',$app->getLanguageFilter());
$model->setState('list.ordering', 'ordering');
$model->setState('list.direction', 'ASC');
$items = $model->getItems();
return $items;
}
}
На первый взгляд, я думаю, что com_contacts был компонентом для каждого выпадающего списка после того, как я отладил это http://pastebin.com/m9kFpmvs (это был большой, поэтому я вставил сюда вместо)
$model= JModel::getInstance('Contacts', 'ContactModel',array('ignore_request' => true));
Я вижу, что у него есть настраиваемое поле, например:
[0] => id
[1] => a.id
[2] => name
[3] => a.name
Итак, что мне нужно сейчас:
Насколько я могу представить, что com_contact не будет полезен для меня, я хотел спросить, знает ли кто-нибудь другой компонент, который я мог бы использовать для создания выпадающего списка с несколькими выборками для меню, и если гуру может объяснить мне, пожалуйста, как именно код, который я нашел в примере выбирает результаты, когда я не вижу ни одного выполняемого запроса. Он подключается к БД
$db= JFactory::getDbo();
но я не могу найти ни одного запроса.
заранее спасибо
Задача ещё не решена.
Других решений пока нет …