I’m interested in building a tag union capability that would mimic how tag intersections are currently implemented (Tag intersections page): essentially the same result as intersections (the default category/Latest view), but doing an OR on multiple tags rather than an AND. I would appreciate any suggestions as a new Discourse developer.
My thoughts (so far) are as follows:
Searching on multiple tags via the search page essentially provides tag-union functionality (Does multiple tag search support AND vs OR?). The problem is that I don’t want the search results view – I want the default category page. Could search results be redirected to accomplish this?
If search results can’t be redirected, I’m open to attempting a /tags/union/ route (and have been looking into how intersection works). I would prefer to do this via plugin, but I am concerned that that is not something that could currently be accomplished via a plugin. Any suggestions here would be appreciated.
If there is sufficient user interest to add a tag-union capability into the Discourse core, I’d be willing to do it and submit a PR, but I’m hoping to find an alternative. Thanks in advance.
Не уверен, что это можно считать «достаточным интересом пользователей», но планирую возродить это обсуждение, чтобы узнать, заинтересованы ли пользователи и команда.
Создание массивов queryParam с использованием синтаксиса paramName[] — это особенность, специфичная для бэкенд-фреймворков, и я не думаю, что она поддерживается в Ember нативно. Мы, возможно, сможем заставить это работать, но я лишь бегло посмотрел на серверную реализацию фильтра tags, и там, похоже, также поддерживается список, разделенный пробелами.
Это очень удобно. Однако при выборе категории из верхнего левого угла страница не сохраняет ограничения. Для страниц с одиночными тегами всё работает как ожидалось.
Например, если я нахожусь на /tag/tag1 и выбираю site-feedback в верхнем левом углу, отображается /tags/c/site-feedback/2/tag1.
При /?tags=tag1+tag2 меня просто перенаправляет на /c/site-feedback/2.
Возможно ли реализовать такую функциональность?
Кажется, это также запрашивалось в этих двух темах: