Выборка по полю контента

InstantCMS 2.X
#1 16 марта 2017 в 04:24
Подскажите пожалуйста, как сделать выборку по полю контента?

#2 16 марта 2017 в 09:17
Здесь используется поле типа "список". Предполагается, что оно должно содержать текст, поэтому все html теги в нем преобразуются в escape-последовательности. Т.е, вставить сюда ссылку не получится.

Вам нужно создать своё поле, либо хакнуть имеющееся.
Например, можно в файле system/fields/list.php заменить строку 57 на это:
  1. //return htmlspecialchars($item);
  2. return $item;
Ну а дальше стандартно.
Создаёте набор контента с системным именем, к примеру, "copyright" и фильтром "Тип статьи = 1".
Тогда предустановленные значения в поле "Тип статьи" у вас могут выглядеть примерно так:
  1. 1|<a href="/articles-copyright">Авторская</a>
  2. 2|Рецензия
  3. 3|Перевод
Правда есть один недостаток. При редактировании статьи это поле будет выглядеть, мягко говоря, странно.
#3 16 марта 2017 в 11:05
Pocus, большое Вам спасибо за решение! Буду пробовать)
А что если таких полей 3-5 и более, а в них списки по 50-100 значений, придётся на каждую создавать набор. Нельзя ли как то автоматизировать или возможно какое-то решение может существовать? Готов оплатить такое решение, если это вообще возможно.
#4 16 марта 2017 в 11:26
Вопрос для меня тоже актуальный, очень нужно например создавать страницы с выборкой по полю и свойству, ну или хотя-бы по полю.Тоже готов такое решение купить или оплатить разработку. Например, хочется сделать вывод объявлений по городам и другим характеристикам. Еще нужно чтобы можно было у этих страниц менять заголовок h1, тайтл и метоописание и к этим страницам добавлять виджет текстовый.
#5 16 марта 2017 в 11:29
Юрий Юрьевич, давайте вместе оплатим, если кто-то согласится сделать. Вроде бы такая простая и очевидная вещь, а вот напрямую никак не сделать. Может кто ещё подтянется.
#6 16 марта 2017 в 12:41
Ребята, извините, но вы несколько сумбурно излагаете свои идеи.
Если я хоть что-то понял, то вам нужен каталог и фильтр, которые уже есть в коробке.
Плюс немного подумать, чтобы всё это грамотно скомпоновать.
#7 16 марта 2017 в 12:47


Ребята, извините, но вы несколько сумбурно излагаете свои идеи.
Если я хоть что-то понял, то вам нужен каталог и фильтр, которые уже есть в коробке.
Плюс немного подумать, чтобы всё это грамотно скомпоновать.

Pocus

Ну вот у меня сверху в скриншоте вопрос, я понял, как вы посоветовали сделать, но что если полей много? Каждый раз делать набор? Извините за возможно нубские вопросы, давно к instant не подходил
#8 16 марта 2017 в 14:54

А что если таких полей 3-5 и более, а в них списки по 50-100 значений, придётся на каждую создавать набор.

cvetkoff
Вот такого количества характеристик я не могу представить ни для одного типа контента. Приведите пример, может быть ваша задача станет яснее.
Но в любом случае всё придется делать руками, никакой автомат не угадает ваших желаний.

давно к instant не подходил

cvetkoff
Вот смотрите, что у вас есть для систематизации и выборки контента:
1. Типы контента (статьи, товары, объявления...). Это верхний уровень. Вероятное место выборки — главное меню.
2. Многоуровневые каталоги (категории, рубрики) для каждого типа контента. Выборка из списка или из виджета.
3. Поля (наш случай) — любой набор свойств, характерных для данного типа типа контента. Сюда же входят системные поля, такие как дата, автор, родительский объект и т.д. Пригодны для фильтрации.
4. Свойства — те же поля, но действуют и описывают характеристики контента в пределах определенных категорий.
5. Наборы (наш случай) — просто заранее настроенные фильтры по полям и свойствам. Точно такие же выборки можно получить просто манипулируя категориями и фильтрами, и не надо создавать 100 наборов.
6. Теги и хеш-теги. Ну, это для поиска по ключевым словам.
7. Полнотекстовый поиск.
Как видите, для решения типовых задач возможностей более чем достаточно. Причем всё это хозяйство настраивается очень гибко, нужно лишь хорошо продумать структуру вашего сайта.
Конечно, задачи бывают и не типовые. Вот тогда стоит обратиться к разработчикам, но, опять же, нужно чётко понимать чего вы хотите.
Например, ваш первоначальный вопрос вообще никак не связан с тем, во что выливается эта тема.

Что до пожеланий Юрия Юрьевича, то ему стило бы поинтересоваться, что за инструмент попал к ему в руки. Всё, о чем он говорит, в коробке есть.
#9 16 марта 2017 в 15:54


Ребята, извините, но вы несколько сумбурно излагаете свои идеи.
Если я хоть что-то понял, то вам нужен каталог и фильтр, которые уже есть в коробке.
Плюс немного подумать, чтобы всё это грамотно скомпоновать.

Pocus

Сумбурно, да, уже мозг сломал( не знаю как реализовать стандартными средствами( Мне нужно создать страницы, с заданными значениями фильтра объявлений (тобиш значения полей).

Давайте на примере

Нужно вывести выборку объявлений в которых продаются квартиры на первом этаже по каждому городу ( квартиры в Москве на первом этаже, квартиры в Саратове на первом этаже и т.п. )
Затем вывести квартиры по каждому городу на втором этаже. Потом вывести все квартиры в новостройка не разрезе городов. Т.е. комбинации из полей и свойств объектов, их будут тысячи.

Вот так можно вывести при помощи стандартных средств, передачей параметров в фильтр  http://demo.instantcms.ru/board/nedvizhimost/kvartiry?p19%5Bfrom%5D=&p19%5Bto%5D=1, Но тогда нельзя менять урл, заголовок h1, тайтл страниц и чтобы к этой странице можно было привязать текстовый виджет. Пользователю будет не совсем понятно какую выборку он видит .

Какие есть варианты по дефолту
1) Сделать подкатегории контента (получится что человеку придется выбирать при добавлении объявлений из тысяч комбинаций)
2) Выбор в фильтре с г передачей параметров в фильтр (нельзя настроить вывод заголовков, виджетов, писал выше)
3) При помощи скрытых наборов (через них можно только сделать сортировку по полям, а по свойствам нет + наборы относятся ко всему типу контента, а не к каждой подкатегории)
4) Через связанный контент (будет дубляж с полем Месторасположение)
5) Можно еще вывести виджетом на статичную страницу (Но тогда настройки фильтра не сохранятся, т.к. страницы будут созданы в другом типе контента)

InstantCMS 2.7.1 
Буду очень признателен если укажите верный путь... 
#10 16 марта 2017 в 16:25
Юрий Юрьевич, так, ну я опять ничего не понял. Уж извините, до меня тоже туго доходит. Позже еще попытаюсь вникнуть.
Зато обнаружил ошибку в фильтрах. Пойду отпишусь в соответствующей теме.
#11 26 марта 2017 в 05:30

не знаю как реализовать стандартными средствами

Юрий Юрьевич
Стандартными может и ни как, а вот с помощью этого компонента, Вы получите то, что Вам нужно.
#12 26 марта 2017 в 14:40


Думаю, топикстартер имел ввиду то, как все это выглядит, например, как на Кинопоиске.

Проблему по выборке решает компонент "Вкладки + Автосвязи", но результат в нем выводится не ввиде ссылок на список записей, а ввиде вкладок, в которых выводится список.

Уважаемые гуру, можно ли используя стандартные средства и компонент "Вкладки + Автосвязи" привести к такому виду (как в Кинопоиске), где названием ссылки было бы значение, заданное в поле для "выборки"? И возможно ли сделать ссылку на список записей по выбранному полю и как-то вывести список на отдельной странице?
#13 26 марта 2017 в 14:42

Думаю, топикстартер имел ввиду то, как все это выглядит, например, как на Кинопоиске.

Мурлыся
Именно так, вы правы!
#14 26 марта 2017 в 16:36

Уважаемые гуру, можно ли используя стандартные средства и компонент "Вкладки + Автосвязи" привести к такому виду (как в Кинопоиске), где названием ссылки было бы значение, заданное в поле для "выборки"? И возможно ли сделать ссылку на список записей по выбранному полю и как-то вывести список на отдельной странице?

Мурлыся
Я не совсем понял что общего между компонентом "Вкладки" и подобным списком кроме того, что при переходе по ссылке в списке должна быть такая же фильтрация записей как и во "Вкладках". Суть у "Вкладок" та же, но формат вывода другой. Именно такое визуальное представление записи контента невозможно организовать ни стандартными средствами Инстанта, ни при помощи "Вкладок". Единственный выход — написать поле + компонент, выполняющие данную функцию. Теперь данный функционал доступен в компоненте "Вкладки".
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.