Здравствуйте, уважаемые форумчане! Столкнулся с такой задачей: Есть сайт, весь контент на нём реализован на компоненте K2. Вообще очень нравится данный компонент, очень часто использую в работе. Так вот, на данном сайте есть каталог и статейные разделы. Так же выводятся разные модули поиска: на каталоге выводится модуль поиска только для каталога, а в остальных страницах - только модуль поиска по статьям. На части страниц вообще нет модуля поиска.
А вот результат поиска выводится на одной и той же странице. И реализован он просто списком из заголовков материалов. И не важно к чему они относятся - к каталогу или статьям, выводятся просто списком заголовков и всё.
Сейчас нужно сделать, чтобы статьи так и выводились списком, а вот позиции из каталога нужно чтобы выводились аналогично раскладки, что и в витрине категории, т.е. миникарточками.
И вот встал вопрос как это реализовать.
Сам нашёл такое решение:
В каталог добавляем поле типа "позиция каталога", например выпадающим списком, и, если оно отмечено, то в результате поиска данная позиция принимает свои классы, а так же выводим доп информацию, которой не было бы в списке, например изображение. Но для такого способа нужно перелопатить все позиции и указать им данное поле, позиций пара тысяч. А единого общего поля, которое бы было у каждой позиции, на данный момент нет, т.е. получается это поле и должно быть связующим. Хотя возможно это выход.
Была ещё такая мысль - все позиции каталога содержат вложения, а в статьях вложений нет. И возможно используя переменные вложений можно поэкспериментировать с конструкцией страницы. Но в результатах поиска вложения не выводятся и я пока не знаю будет ли как на переменную вложений реагировать поиск, сделал пару экспериментов - результата нет. Возможно нужно покопаться получше. Но не считаю данное решение универсальным, т.к. возможно появятся статьи с вложениями в будущем.
И тут у меня возникла такая мысль, а что если реализовать разные страницы результата поиска, на которые ведут разные модули или как вариант для разных категорий, пусть даже категории указываются в ручную в коде и например при добавлении новой категории в каталог её нужно будет руками указать и в хаке.
Это конечно поинтереснее чем перебирать тысячи позиций, но что-то мне подсказывает, что данная манипуляция на уровне ядра компонента, и лопатить придётся ещё больше чем перебор имеющихся позиций каталога. Хотя возможно всё ни так и страшно.
Может есть у кого светлые мысли? Или кто что-то подобное уже реализовывал? Буду благодарен! Спасибо!