Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

SSerge22

  • Новичок
  • 2
  • 0 / 0
Задача следующая: В стандартном модуле "Материалы в Архиве" вместо поля "Фильтр по заголовку" нужно поставить поле "Фильтр по категории". Т.е. Фильтр должен выглядеть так: "Фильтр по категории", "Год", "Месяц".
Отчасти решил проблему (перехитрил Joomlу), достаточно корявым способом. Но красиво решить задачу пока не получается. Помогите, пожалуйста!

Сейчас принцип работы модуля "Материалы в Архиве" следующий. Список Названий Категорий берется из таблицы БД, и подставляется вместо поля "Фильтр по заголовку". Таким образом, есть возможность искать только те материалы, в которых название статьи совпадает с названием категории!

Я сделал так:
1) В файле components/com_content/views/archive/view.html.php

Создаем функцию извлечения Категории из таблицы категорий БД
function getCategories() {
   $db = JFactory::getDbo();
   // Создаем новый объект запроса где id - некая родительская категория
   $query = $db->getQuery(true);
   $db->setQuery('SELECT title FROM #__categories WHERE parent_id=22 GROUP BY title ORDER BY created_time');
   $array_cat = $db->loadResultArray();
   array_unshift($array_cat, JText::_('SELECT_CAT')); // Константа SELECT_CAT="выбирите категорию"
   $res_array = array_combine( $array_cat, $array_cat );
   return $res_array;
   };
$cat_array = getCategories();
// Формируем поле со списком категорий, которое затем передается в форму
   $form->categories = JHtml::_(
   'select.genericlist',
   $cat_array,
   'filter-search',
   array(
      'list.attr' => 'size="1" class="inputbox"',
      'list.select' => $state->get('list.filter'),
      'option.key' => null
   ));

2) В файле components/com_content/views/archive/tmpl/default.php

Убираем поле фильтра:
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->filter); ?>" class="inputbox" onchange="document.getElementById('adminForm').submit();" />

Вставляем новое поле Фильтра (списка) категорий:
<?php echo $this->form->categories; ?> 

Как сделать полноценный фильтр? Заранее спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Материалы пользователя (контакта)

Автор katerina37

Ответов: 5
Просмотров: 1138
Последний ответ 18.02.2022, 11:53:02
от katerina37
Материалы в админке

Автор Ren17

Ответов: 6
Просмотров: 1329
Последний ответ 12.11.2020, 14:18:04
от Ren17
Не удается сохранить изменения в модуле

Автор Bit-auto

Ответов: 1
Просмотров: 1352
Последний ответ 05.02.2017, 19:09:30
от Paha_web
Перестали открываться материалы в Joomla 2.5

Автор Jolio

Ответов: 0
Просмотров: 1083
Последний ответ 02.08.2016, 10:40:21
от Jolio
Как сделать кликабельными телефоны в модуле login none outline?

Автор andreikul1967

Ответов: 1
Просмотров: 1431
Последний ответ 12.04.2016, 17:39:07
от darkghost