Связи в ICMS 2.7.2

InstantCMS 2.X

Сортировка + многие ко многим + кол-во в фильтрации

#1 29 мая 2017 в 05:46
Приветствую, коллеги!

Установлена ICMS версии 2.7.2 на хостинге.
Сайт — каталог группы растений. Неимоверно рад, что в 2.х появился такой шикарный компонент как Связи! Отличная функция!

Вопрос 1: Есть два типа контента: Каталог растений и Регионы. В одном регионе может произрастать множество растений, как и одно растение может произрастать на территории нескольких регионов. По сути: это связь "многие ко многим". Технически ничто не запрещает этого сделать на сайте. В качестве родителя в Связи выбраны Регионы, в качестве дочернего типа контента — Каталог растений. Все работает, но вот хотелось бы для дочернего типа контента (Каталога растений) на странице записей регионы выводить не в виде списка ссылок на записи Регионов в соответствующем поле, а виджетом, как это возможно у родительского типа контента. Может у меня чего не работает или это действительно отсутствует программно?
Понимаю, что решением данной проблемы (в случае отсутствия таковой возможности) было бы создание обратной Связи и дублирование ссылок в обоих Связях, но при количестве несколько десятков тысяч записей в Каталоге растений и в количестве регионов у одного растения от 1 до 65 — это настоящая морока даже без дубликата данных заполнить связи для одной записи. Может у кого уже имеется решение по выводу у дочернего типа контента привязанных к нему родительских записей в виджете?

Вопрос 2: Сортировка записей в Связях. Т.е. и на странице Родительской записи дочерние записи отображаются во Вкладке, в Списке и в Виджете в том порядке в котором связь была добавлена и автоматически последние связи идут в начале списка. И на странице дочерней записи связи перечислены в обратном порядке добавления связей. Как то хочется порядок этот переформировать. Даже на родительской записи виджет не дает применить фильтр из дочернего типа контента — выдает вся страница ошибку 503. Это у меня такая ошибка при включении фильтра из набора отображается, или у вас тоже? Как можно сортировку подправить?

Вопрос 3: Количество записей при добавлении Связи. Т.е. когда подключаешь одну запись — проблем никаких, но когда требуется подключить много связей удовлетворяющих одному критерию фильтрации — отображается список из 10 максимум. Приходится сперва эти 10 добавить, а потом снова нажимать на кнопку добавления записей, снова производить фильтрацию и работать с полученным списком (который уже не содержит ранее добавленные записи к счастью). При заполнении большого каталога это напрягает.
Да и бывает, что записей чуть больше 10 и нужно добавить одну из самых первых созданных в контенте, а она расположена внизу списка и не входит в число последних 10 и приходится первые буквы ее названия прописывать в фильтре (ну или же в настройках этого типа контента включить управление датами публикации, а у самых ходовых записей сменить дату начала публикации на более позднюю, чтобы в списке выдачи фильтра при добавлении связанных записей они фигурировали в начале списка). Тоже неудобно.
Где это количество можно сменить с 10 на свое?
#2 29 мая 2017 в 08:53

Есть два типа контента: Каталог растений и Регионы

Alexey Zagrebelniy

Возможно в растения ввести поле Регион и сделать фильтр по этому полю для фильтрации по регионам?
#3 29 мая 2017 в 22:11


Есть два типа контента: Каталог растений и Регионы

Alexey Zagrebelniy

Возможно в растения ввести поле Регион и сделать фильтр по этому полю для фильтрации по регионам?

letsgo
А какой тип этого поля предлагаете и про какую именно фильтрацию речь?

Благодаря Связи я могу по каждому региону посмотреть список растений, произрастающих в нем, но этот список не сортирован никак. Его хотя бы по алфавиту по полю title отсортировать бы. А вот на странице записи растения есть поле Регионы, созданное автоматически при создании Связи, там внутри все перечислено абы как, т.е. регионы никак не отсортированы.
#4 30 мая 2017 в 09:47

А какой тип этого поля предлагаете и про какую именно фильтрацию речь?

Alexey Zagrebelniy

Наверно текстовое поле с названием региона. При выводе фильтра по региону — вывод всех растений, который там растут. Либо создание в принципе страниц региона и список растений — но тут может быть перебор, вдруг их там тысяч 5 смотреть будет некрасиво. Трудно мне представить, что кто то захочет увидеть весь список растений, если их там несколько тысяч, обычно ищут растения либо типичные для климатической зоны растения.
#5 30 мая 2017 в 18:12

Даже на родительской записи виджет не дает применить фильтр из дочернего типа контента — выдает вся страница ошибку 503.

letsgo
Таже проблема решения не нашел!
#6 30 мая 2017 в 20:43

letsgo:
Даже на родительской записи виджет не дает применить фильтр из дочернего типа контента — выдает вся страница ошибку 503.
Таже проблема решения не нашел!

VSP

Я не писал такого.
#7 31 мая 2017 в 01:48


А какой тип этого поля предлагаете и про какую именно фильтрацию речь?

Alexey Zagrebelniy

Наверно текстовое поле с названием региона. При выводе фильтра по региону — вывод всех растений, который там растут. Либо создание в принципе страниц региона и список растений — но тут может быть перебор, вдруг их там тысяч 5 смотреть будет некрасиво. Трудно мне представить, что кто то захочет увидеть весь список растений, если их там несколько тысяч, обычно ищут растения либо типичные для климатической зоны растения.

letsgo
Речь про группу растений, которые называются "драгоценные орхидеи". Они на рынок часто приходят безымяшками. Если привезены из экспедиций или являются результатом плантхантинга (собраны охотниками за растениями — плантхантерами), то при наличии данных о регионе сбора — такой список может помочь в идентификации растения. Экспедиции выезжают 1-2 раза в год и в конкретные регионы отправляются — им таковой список тоже полезен.

Идею я понял: текстовое поле с перечисленными регионами, запись Регион + виджет с настройкой фильтра по полю наименования региона "Содержит ХХХХХХХХХХХХХ". При наличии около тысячи регионов — придется завести около тысячи страниц в разделе Виджеты и настроить около 1000 виджетов. И это еще не все: заполнение самого списка регионов — штука непростая, т.к. в научном источнике, откуда берутся данные — огромная таблица на кучу страниц с перечисленными зонами и регионами входящими в эти зоны (всего 4 уровня градации). В научном источнике для растения чаще указывается 3-ий уровень, а привязывать нужно все регионы 4-го уровня, которые еще к тому же не переведены и это морока. Ну и в конце концов — перехода на регион в случае с текстовым полем — не будет со страницы растения, а это нужно. Да и виджет не бьет содержимое на страницы. У Связей хотя бы разбивка имеется постраничная, пусть они и не сортируют записи.
#8 31 мая 2017 в 01:48


Таже проблема решения не нашел!

VSP

Значит я не одинок в этой проблеме.
#9 31 мая 2017 в 04:37
Почему не хотите использовать виджет карт? Для регионов, ещё и разделённых не стандартно, напрашивается поле и виджет карт.
#10 1 июня 2017 в 01:04


Почему не хотите использовать виджет карт? Для регионов, ещё и разделённых не стандартно, напрашивается поле и виджет карт.

lakomet

Я понятия не имею о каком виджете речь. Просвятите.
#11 1 июня 2017 в 06:43

Я понятия не имею о каком виджете речь

Alexey Zagrebelniy
Можно такой, но только его придётся модифицировать. И это поле.
Смысл в следующем:
В тип контента "Регионы", добавляете поле карт(показ в записи и списке отключаете, будет виден только при редактировании записи). На страницы записей типа контента "Регионы", ставите модифицированный виджет карт. Модификация виджета заключается в том, что виджет должен брать координаты центра из записи, на странице которой находится пользователь(сейчас координаты центра фиксированы и задаются в настройках). А на страницы записей типа контента "Каталог растений", ставите модифицированный виджет карт. Модификация виджета заключается в том, что виджет должен брать название растения из записи на которой находится пользователь и выводить маркеры только данного вида растений.
Что получится, пользователь заходит на страницу описания растения "Ромашка", и вместе со всем, что он видит сейчас, он видит карту мира, на которой маркерами отмечены места произрастания. Выбрав нужный регион, он нажимает на маркер, и попадает на страницу и вместе с описанием(или что там у Вас есть в типе контента "Регионы"?) этого региона, видит карту, на котрой маркерами отмечены растения, растущие в этом регионе, маркеры можно сделать в виде превьюшек этих растений)). Нажав на маркер нужного расения, попадает на страницу с описанием растения и картой произрастания. И так по кругу))
#12 1 июня 2017 в 18:19


Я понятия не имею о каком виджете речь

Alexey Zagrebelniy
Можно такой, но только его придётся модифицировать. И это поле.

lakomet
Идею я понял. Вот только у меня реализация нужна не через маркеры, а через области на карте, чего я не нашел в описании предлагаемого виджета и поля, т.к. у меня нет информации о конкретных точках обнаружения растений в природе и если таковую и найти, то она будет далеко не для всех растений. Т.е. карта мира с подсвеченными регионами — вот что хотелось бы увидеть на странице Растения, а на странице Региона — достаточно его собственный контур, а список растений в нем — отдельно на его странице достаточно будет посмотреть, ну и суммарная площадь в списке Регионов на карте мира в зависимости от выбранного уровня этой ботанической системы градации регионов.
Для других проектов возьму вашу рекомендацию на заметку, но к сожалению для этого проекта она не подходит. Спасибо!
#13 2 июня 2017 в 17:19
Alexey Zagrebelniy, Тогда посмотрите этот компонент, там есть автосвязи, но в вашем случае, можно сделать на поле фильтр, из того компонента.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.