COBALT
Total posts: 408
09 Июнь 2016 15:13

Из инструкции Создание пре-фильтровых ссылок понятно как формировать ссылки.

Можно сформировать следующие ссылки фильтров?:

Новые - статьи сортируются по дате создания

Обновления - статьи сортируются по дате редактирования

Просмотры - статьи сортируются по количеству просмотров, от большего к уменьшиму

Рейтинг - статьи сортируются по результатам голосования, с начало самые популярные

Закладки - статьи сортируются по количеству добавивших в закладки, от большего к меньшиму

Это всё относится к сортировке, возможно это сделать как ссылку фильтра?

Последние изменения: 09 Сен 2016


Sergey
Total posts: 13,748
02 Авг 2016 05:51

Так как у вас будет только одна сортировка и не будет меняться, то ее тоже можно вставить как HTML

<i class="icon-arrow-down"></i>

или up


COBALT
Total posts: 408
02 Авг 2016 08:20

Иконка будет отображаться постоянно, а мне нужно чтобы иконка появлялась рядом с ссылкой только тогда, когда сортировка применена.


Sergey
Total posts: 13,748
02 Авг 2016 12:49

Посмтри что у тебя тут.

var_dump($listOrder);

И можно как то так

<?php if($listOrder == 'r.ctime'):?>
   <i class="icon-arrow-down"></i>
<?php endif; ?>

COBALT
Total posts: 408
02 Авг 2016 17:37
var_dump($listOrder);

Такого вообще нету


Sergey
Total posts: 13,748
09 Авг 2016 05:37

COBALT var_dump($listOrder);

Такого вообще нету

Ну да нету. Вот добавь и посмотри что это вывидет.


COBALT
Total posts: 408
12 Авг 2016 10:24

Sergey

COBALT var_dump($listOrder);

Такого вообще нету

Ну да нету. Вот добавь и посмотри что это вывидет.

Я в php не особо разбираюсь, подскажите как должен выглядеть код, чтобы посмотреть что выводит var_dump($listOrder);

Я уже совсем запутался.


Sergey
Total posts: 13,748
16 Авг 2016 11:07

Просто вставь этот var_dump($listOrder); рядом где ты выводишь сортировки, и посмотри что это покажет в шаблоне когда обновишь страницу.


COBALT
Total posts: 408
16 Авг 2016 11:51

Вы имеете ввиду вот так:

<?php echo JHtml::_('mrelements.sort', 'Самые просматриваемые', 'r.hits', asc, $listOrder); var_dump($listOrder); ?>

Показывает рядом с ссылкой: string(6) "r.hits"

Правда такая ссылка срабатывает правильно только после второго клика.


Sergey
Total posts: 13,748
16 Авг 2016 13:08

Ну тогда как то так.

<a onclick="Joomla.tableOrdering('r.ctime','desc','');" href="javascript:void(0);">
    Новые
    <?php if($listOrder == 'r.ctime'):?>
       <i class="icon-arrow-down"></i>
    <?php endif; ?>
</a>

COBALT
Total posts: 408
16 Авг 2016 14:54

Спасибо, работает!


COBALT
Total posts: 408
19 Авг 2016 16:43

Ещё есть небольшой вопрос по сортировке и фильтру, приведу пример:

Применяю например сортировку Новые:

Далее нажимаю кнопку фильтра, выбираю фильтр:

После применения фильтра, сортировка сбрасывается на значение по умолчанию указанное в настройках шаблона основной разметки:

Это так и должно быть?

Если перейти по ссылке фильтру, срабатывает фильтр и сортировка не сбрасывается:


Sergey
Total posts: 13,748
30 Авг 2016 15:28

У тебя на странице есть скрытые поля filter_order_Dir и filter_order. Посмотри чтобы в них ни чего не было. Если есть отредактируй шаблон маркапа и сделай что бы value="". То есть ни чего.


COBALT
Total posts: 408
30 Авг 2016 18:33

Вот что у меня в шаблоне markup:

<input type="hidden" name="filter_order" value="<?php //echo $this->ordering; ?>">
<input type="hidden" name="filter_order_Dir" value="<?php //echo $this->ordering_dir; ?>">

Делаю так:

<input type="hidden" name="filter_order" value="">
<input type="hidden" name="filter_order_Dir" value="">

Всё равно сбрасывает сортировку на по умолчанию

PS. потом уже можно сделать сортировку например по Новые


Sergey
Total posts: 13,748
02 Сен 2016 07:33

Попробуй тогда наоборот разкометировать РНР который там был. Может так будет работать.


COBALT
Total posts: 408
02 Сен 2016 08:55

Разкомментировал, удалил //:

    <input type="hidden" name="filter_order" value="<?php echo $this->ordering; ?>">
    <input type="hidden" name="filter_order_Dir" value="<?php echo $this->ordering_dir; ?>">

Работает!!! Я правильно сделал?


Sergey
Total posts: 13,748
09 Сен 2016 10:40

Да именно это я и имел в виду.


COBALT
Total posts: 408
09 Сен 2016 11:25

Спасибо! Очень удобная сортировка получилась.

Работает на Cobalt