Форум русской поддержки Joomla!® CMS
10.12.2016, 05:09:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Плагин сортировки материалов с фронта

 (Прочитано 243 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« : 16.12.2015, 13:08:31 »

Поиск в JED и Google ничего не дал ((

Собственно решил я так, в /com_content/tmpl/category/blog.php добавил код
Код:
<div id="sort" style="padding-bottom: 20px; width: 100%; display: block; clear: both; margin: 0 auto; text-align: center;">
<form action="" method="get" id="order_form">
  Упорядочить материалы по:&nbsp;&nbsp;
<select id="filter_order" name="filter_order">
<option value="a.ordering">По порядку</option>
<option value="a.title">По заголовку</option>
<option value="a.created_by">По автору</option>
<option value="a.created">Дате создания</option>
<option value="a.id">По ID</option>
<option value="a.hits">Кол-ву просмотров</option>
</select>
&nbsp;&nbsp;
<select name="filter_order_Dir" id="filter_order_Dir">
<option value="DESC">По убыванию</option>
<option value="ASC">По возрастанию</option>
</select>
&nbsp;&nbsp;
<button onclick="jQuery(this).submit();" class="btn btn-mini btn-success">
<span class="icon-search icon-white"></span>
Упорядочить</button>
</form>
<script type="text/javascript">
p1 = getParameterByName("filter_order");
p2 = getParameterByName("filter_order_Dir");
if(p1 && p2)
{
jQuery("#filter_order option[value='"+p1+"']").attr("selected", "selected");
jQuery("#filter_order_Dir option[value='"+p2+"']").attr("selected", "selected");
jQuery("#order_form select").trigger("chosen:updated");
}

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}
</script>
</div>
Работает как надо, НО есть ли более красивое решение аля plugin ?

Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #1 : 16.12.2015, 14:00:44 »

1. Можно не плагином, а модулем.
2. Не нужно столько JavaScript-кода только для отображения "selected" - проще и быстрее на PHP, а JavaScript'ом отправить форму (onchange, onclick...).
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #2 : 16.12.2015, 14:06:53 »

1. Можно не плагином, а модулем.
2. Не нужно столько JavaScript-кода только для отображения "selected" - проще и быстрее на PHP, а JavaScript'ом отправить форму (onchange, onclick...).
1) Модулем наверное не выйдет. Дело в том что у меня 2 категории и в них по сотне подкатегорий(которых в меню нет!!) т.е. модуль получается будет выводиться и в родительских категориях, что мне собственно не нужно.

2) Можно и на php, но JQuery ближе ((( увы...
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #3 : 16.12.2015, 14:11:58 »

1) Модулем наверное не выйдет. Дело в том что у меня 2 категории и в них по сотне подкатегорий(которых в меню нет!!) т.е. модуль получается будет выводиться и в родительских категориях, что мне собственно не нужно.
Не понял, причем тут родительские категории и меню? Модуль будет работать точно так же, как и ваша форма в шаблоне, вопрос только в том, нужен ли вообще модуль.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #4 : 16.12.2015, 14:37:08 »

Не понял, причем тут родительские категории и меню? Модуль будет работать точно так же, как и ваша форма в шаблоне, вопрос только в том, нужен ли вообще модуль.
Как мне показывать модуль только в подкатегориях ? Через привязку к пунктам меню я думаю... только подкатегорий в меню у меня нет.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #5 : 16.12.2015, 14:47:32 »

А как вы показывали свою форму только в подкатегориях?
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #6 : 16.12.2015, 14:58:06 »

templates/xxx/warp/system/joomla/layouts/com_content/category/blog.php добавил код, в родительских категориях он не показывается...
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #7 : 16.12.2015, 15:06:42 »

Там наверняка должно быть условие, иначе форма была бы видна везде. В модуле пропишите то же самое.
В общем, сначала напишите модуль, чтобы был предмет обсуждения.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #8 : 16.12.2015, 15:18:23 »

Условий нет... как есть...
Модуль врядли написать смогу в ближайшее время ибо мои познания в J! практически нулевые...
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet