Git Product home page Git Product logo

jlcontentfieldsfilter's People

Contributors

alainrnet avatar alekvolsk avatar arkadiy-sedelnikov avatar brianteeman avatar dmitriitux avatar kernusr avatar septdir avatar sergeytolkachyov avatar zikkuratvk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

jlcontentfieldsfilter's Issues

Проблема с удалением значений из поля от и до.

image

удаляем из поля ОТ или из поля ДО цифру и все скидывается в NaN, при фильтрации следовательно вызывается ошибка. Необходима обработка, чтоб нельзя было указать пустое значение и недопустимое, то есть должна быть только цифра.

такая же проблем возникает если в поле вбить текст или какие то спец символы.

Изображение спиннера

Добавить возможность указать собственное изображение спиннера, вместо ajax_loader.gif, в т.ч формата svg

[Идея] Добавления в фильтр прямо в com_fields

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

Суть

Дать возможность пользователям выбирать поля для фильтрации прямо в com_fields при создании\ре датировании конкретного поля.

Набросок реализации

Через системный плагин (который уже есть) используя тригер onContentPrepareForm (думаю объяснять как это делать не нужно). Цепляемся к имени формы и context параметру в url добавляем поле (ну к примеру вы падающий список) Фильтр с параметрами

  • Нет (не добавляется в модуль)
  • Список
  • Radio
    Ну и т.д

Затем уже в самом модуле определяем категорию и выводим нужные поля.

Плюсы

Не придется лазить каждый раз в модуль. Один раз создал, вывел и все меняется само

Минусы

Теряется гибкость. К примеру если поля доступно для двух категорий, то и в фильтре будет выводиться\ не выводиться в обеих одинаково.

Ну расписал, как мог. Реализация не сложная и особых подводных камней нет.

Попрваить ReadMe

Пока дистрибутив не собран вы можете собрать его и установить модуль и плагин сами. Для этого заархивируйте отдельно содержимое папки mod_jlcontentfieldsfilter и папки plg_system_jlcontentfieldsfilter, установите оба дистрибутива, опубликуйте плагин, опубликуйте и настройте модуль.

Не актуально после
17ee624

Совместимость с Joomla 4

Так как Joomla 4 вышла в RC2 и мне думается, что через 6-8 они выкатят стабильную версию, то надо выпускать версии под нее.

Какие вижу проблемы?

  • Запуск под Joomla 4, при совместимости работы с Joomla 3.
  • Выпилить окончательно версию с jq.

Зависимые фильтры

Доброго дня!
Подскажите, как сделать, чтобы при выборе одного фильтра в модуле, в других фильтрах этого модуля оставались только значения, в которых есть материалы, или фильтры, у которых нет материалов помечались как disabled ?

Пример:
В одном модуле есть футболки только 50 размера и рубашки только 52 размера.
При выборе рубашек, активным бы оставался только размер 52.
Или
При выборе размера 50, оставались бы активными только футболки.

Фильтр инпута значение от и до

Многие стали использовать поля для каталогов. и возникла проблема, что многим хочется фильтровать по цене, значения от и до.
Пример человек создает поле инпут и указывает там 10, 20, 25, 30, 40 допустим это квадратным метры жилья.
После этого он хочет увидеть значения от и до допустим с 20 до 30 квадратов.

Так же очень актуальна фильтрация по цене в связи с появлением вот этой корзинки https://joomlaforum.ru/index.php/topic,345981.0.html

cannot declare class categorymodel in joomla 4.0

Hi
When I use cw multicategory plugin with jlcontentfields filter together in joomla 4.0 i face to this error:
cannot declare class joomla\component\content\site\model\categorymodel, because the name is already in use

What should i do?
In joomla 3 i use them together but now i want to migrate to joomla 4

Please help...

Поправить нотис в модуле

Если в модуле не выбрана категория выход нотис
Notice: Undefined offset: 0 in /modules/mod_jlcontentfieldsfilter/mod_jlcontentfieldsfilter.php on line 42

Либо вообще возвращать false(= пустой модуль) если полей нет.

Сбросить фильтр не работает на чекбоксах

Доброго дня.
Настаиваю модуль фильтра JL Content Fields Filter.
Фильтрация по Аякс работает (Авто отправка: вкл, Ajax фильтрация: вкл).

В модуле пока настроил два фильтра.
Фильтр1: чекбокс
Фильтр2: список

При работе со списком всё нормально и фильтрует и сбрасывает фильтр.
Но если использую чекбокс, то при отметке чекбокса всё фильтрует нормально, но если нажать Сбросить фильтр, то сбрасывает выбор только у списка, а вот чекбокс не сбрасывает выбор.

Система:
Joomla! 4.1.4 Stable
PHP 7.4.5

Notice: Undefined variable: tagids

Notice: Undefined variable: tagids in /var//www/domain.ru/plugins/system/jlcontentfieldsfilter/jlcontentfieldsfilter.php on line 344

В категории нет материалов.
jlcontentfieldsfilter 2.0.0

Подкатегория, как поле фильтрации.

Интересную мысль предложили для каталогов, которые используют подкатегории.
Предположим у нас есть каталог c такой структурой.
Каталог

  • категория 1
  • категория 2
  • категория 3

Допустим мы попадаем в категорию 2. И у нас в фильтре уже активна категория 2, то есть у нас категория становится как бы полем.
Если мы выбрали категорию 3 то фильтруются материалы из категории 3 уже.

Значения range если материалы в подктегории

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

https://s.mail.ru/JD6F/5ZSvg49zq

Что предлагаю? Добавить опцию в модуль "Получать значения из подкатегорий", при ее включении, выборака идет из всех подкатегорий текущей категории.

Пример.

Категория 1 - мы тут

  • Категория 2
  • Категорий 3
    -- Категория 4
  • Категория 5

Значения выбираются из категорий с 1 по 5ую.

Категория 1

  • Категория 2
  • Категорий 3 - мы тут
    -- Категория 4
  • Категория 5

Значения выбираются из категорий 3-4.

Support SQL field type?

Hi,
Apologies if this has been asked before - I couldn't find anything.

Are there any plans to include support for the SQL field type?
If not I could have a go myself and create a PR if you like (though any pointers would be appreciated).

Thanks,
Andy

Guide: How to add calendar in search filter

From 2.0 version:

  • plugins/system/jlcontentfieldsfilter/jlcontentfieldsfilter.php
    line 223 add
case 'calendar':
if(!empty($v)){
if(is_array($v)){
if(!empty($v['from']) && !empty($v['to'])){
$where = '(field_id = '.$k.' AND `value` BETWEEN "'.$v['from'].' 00:00:00" AND "'.$v['to'].' 00:00:00")';
}
else if(!empty($v['from'])){
$where = '(field_id = '.$k.' AND `value` >= "'.$v['from'].' 00:00:00")';
}
else if(!empty($v['to'])){
$where = '(field_id = '.$k.' AND `value` <= "'.$v['to'].' 00:00:00")';
}
}
else{
$where = '(field_id = '.$k.' AND value LIKE '.$db->quote('%'.$v.'%').')';
}
}
break;
  • plugins/system/jlcontentfieldsfilter/fields/jlcontentfieldsfilterfields.php
    line 83 add
case 'calendar':
$options = HTMLHelper::_('select.option', 'calendar', Text::_('PLG_JLCONTENTFIELDSFILTER_FILTER_CALENDAR'));
break;
  • /modules/mod_jlcontentfieldsfilter/layouts/mod_jlcontentfieldsfilter
    duplicate range.php file and rename in calendar.php
    in input type date change in "date"

  • modules/mod_jlcontentfieldsfilter/assets/javascript/jlcontentfilter.js
    line 46

form.find('input[type="text"], input[type="date"]').val('');
  • modules/mod_jlcontentfieldsfilter/assets/javascript/nojq_jlcontentfilter.js
    [code]var els = form.querySelectorAll('input[type="text"], input[type="date"]');[/code]

Module loading very very slow in joomla 4.0

in joomla 3.0 it takes about 1s to load my blog category page(about 1000 articles / 12 articles per page).

But in joomla 4.0 it takes about 14s to load the same page.
in the joomla debug, in profiler I see 13s of the whole time is for loadind jlcontentfieldsfilter.

I found out that the loading time depends on the number of articles that should show.
when i filter them it loads faster but in joomla 3.10 without any filter applied, the page load in only one second....

what should I do?
Please help.
I can attach profiler screen or anything else you want...

Screenshot_20220807_003316_com android chrome

Улучшение слайдера

  • Улучшить интерфейс для мобильных систем.
  • Ввести значения float, пока не ясно нужны ли float или только int

Feature request : include Custom Field from DPCalendar component

Is there a way to include Custom Field from DPCalendar component ?
I now try to modify mod_jlcontentfieldsfilter.php with com_dpcalendar
I try to modify the mod_jlcontentfieldsfilter.php file with com_dpcalendar here and there and the helper.php file without success for the moment. I continue my tests and am happy to take the track to integrate the filtering in this component.
Thank you in advance for your help.

Пустое value

Заметил интересную особенность - если передать пустое value для чекбокса или радиобаттона, то фильр возвращает 0 итемов.

Поле filter в таблице SEO не экранирует значения

Столкнулся с задачей - вывести ссылки из фильтра в карту сайта
Показалось, что !всё" просто, но столкнулся с проблемой, что метод createFilterString не экранирует значения, перед записью в базу данных.
Итого, у меня есть значения поля 7, 15, 15,7
В базу они запишутся 7,15,15,7
Т.е. разобрать такую строку и превратить обратно в url - не представляется возможным

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

вот туточки

Для сохранения обратной совместимости, ввести второй аргумент для createFilterString

public static function createFilterString($filter, $safe=true)

И по нему экранировать или не экранировать

Ну и везде, где пытаемся получить запись из базы добавить выборку по safe и unsafe хэшам

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

Для полей списочного типа (список, селект, группы чекбоксов, рабиобаттоны) добавить возможность отображать в фильтре только те значения, которые указаны хотя бы в одном материале, в идеале - для каждого поля в отдельности.
Например: группа чекбоксов отображает размер обуви: 36, 37, 38, 39 и так далее, но ни в одном материале не указано наличие размера 38, следовательно это значение в фильтре не отображать.

Сео фильтр

При включенной настройки фильтра GET, чтоб менялся тайтл в зависимости от настроек фильтра. То есть у нас есть название категории - параметр фильтра 1 - параметр фильтра - 2

Using Joomla chosen.js for multiple select list

Based on your list.php layout i created a layout for a multiple select list using Joomla's built in chosen.js script. The code is attached as a txt file.
The chosen multiple select works as expected but after applying the filter and reloading the page, only the last list value is selected. How do i get all selected values after applying the filter?

multiplelist.txt

Ajax auto load only works the first time after page load?

Hi! We have implemented jcontenfieldsfilter on one of our websites. We have created 4 custom fields of the list type and use these to filter a specific article category on the website. This works fine, except for the ajax functionality. When we enable ajax and the auto submit feature this only works once after the page loads. When we change the filter after the first time nothing happens.

I don't see any errors in the console.

We are on Joomla! 3.9.20
PHP 7.3.19
JL Content Fields Filter 1.8.2

Any thought?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.