Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2021 Просмотров
*

ninth

  • Захожу иногда
  • 59
  • 0 / 0
  • [ 9 ]
Доброго времени суток.

Решил прикрутить собственный фильтр по типу как "по категориям". За основу взял пример из компонента "баннеры" (там есть во вкладке статистика по "Клиентам" сортировка).
В общем сортирует как нужно, но постоянно выдаёт ошибку -  Attempt to assign property of non-object in ......\www\libr aries\framework \Joomla\Registr y\Registry.php on line 428.
Подскажите пожалуйста, в чём может быть проблема?

... сам компонент "mywork", фильтр добавляю в вид "sets". По задумке есть таблица с проектами и вторая таблица с работами. Проекты являются для работ как "категории". Сортировка происходит в вид "sets"...

Добавил код в вид sets/view.html.php:
Код: php-brief
JHtmlSidebar::addFilter(
JText::_('COM_MYWORKS_SELECT_WORK'),
'filter_work_id',
JHtml::_('select.options', MyworksHelper::getWorkOptions(), 'value', 'text', $this->state->get('filter.work_id'))
);

Добавил код в хелпер helpers/myworks.php:
Код: php-brief
public static function getWorkOptions()
{
$options = array();

$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('id As value, name As text')
->from('#__myworks AS a')
->where('a.state = 1')
->order('a.name');

$db->setQuery($query);

try
{
$options = $db->loadObjectList();
}
catch (RuntimeException $e)
{
JError::raiseWarning(500, $e->getMessage());
}

return $options;
}

Добавил код в модель models/sets.php:

в populateState()
Код: php-brief
$workId = $this->getUserStateFromRequest($this->context . '.filter.work_id', 'filter_work_id');
$this->setState('filter.work_id', $workId);

в getStoreId()
Код: php-brief
$id .= ':' . $this->getState('filter.work_id');

в getListQuery()
Код: php-brief
// Filter by work
$workId = $this->getState('filter.work_id');

if (is_numeric($workId))
{
$query->where('a.workid = ' . (int) $workId);
}
« Последнее редактирование: 28.07.2014, 19:52:50 от ninth »
*

ninth

  • Захожу иногда
  • 59
  • 0 / 0
  • [ 9 ]
Решение нашёл....

В общем получается нужно в вид sets/view.html.php:
Код: php
JHtmlSidebar::addFilter(
JText::_('COM_MYWORKS_SELECT_WORK'),
// filter[work_id], а не filter_work_id
'filter[work_id]',
JHtml::_('select.options', MyworksHelper::getWorkOptions(), 'value', 'text', $this->state->get('filter.work_id'))
);

В общем нужно писать - filter[work_id], а не filter_work_id
« Последнее редактирование: 13.08.2014, 23:47:19 от ninth »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отправка файлов через ajax в модуль Joomla

Автор hemicide

Ответов: 19
Просмотров: 2267
Последний ответ 11.04.2022, 08:44:33
от sivers
Документация по разработки компонента для Joomla 3.x

Автор Aspik

Ответов: 9
Просмотров: 3311
Последний ответ 23.01.2021, 07:55:56
от hmr
Применение ajax (Аякс) в модуле Joomla

Автор tm2010

Ответов: 34
Просмотров: 5318
Последний ответ 26.09.2020, 09:38:35
от b2z
Обработка AJAX в компоненте Joomla!3

Автор balancer

Ответов: 33
Просмотров: 11923
Последний ответ 23.07.2020, 07:45:53
от Dolphin4ik_1
[РЕШЕНО] curl-файл Joomla $model->save($data) подключение модели администратора

Автор platonische

Ответов: 31
Просмотров: 1863
Последний ответ 30.05.2019, 16:10:57
от sivers