В прошлой статье серии мы рассмотрели, что такое типы контента Seblod. Кроме создания и просмотра контента, для максимально гибкого управления требуется также его фильтрация. Seblod позволяет фильтровать контент очень гибко. Если в Joomla мы имеем фильтрацию только по категориям, то через Seblod мы можем фильтровать материалы практически по любому полю, которое в них используется. Также нам доступны различные условия фильтрации(больше, меньше, равно, и.т.д).
Для фильтрации в Seblod служат типы поиска. О том как создавать типы поиска Seblod, настраивать их и управлять фильтрацией контента я расскажу в этой статье.
Содержание
Типы поиска SEBLOD. Вступление
Типы поиска SEBLOD обеспечивают поиск по типам контента. Из этого следует, что без созданных типов контента SEBLOD, типы поиска не имеют смысла. Прежде, чем браться за создание типов поиска, советую хорошенько разобраться с типами контента. Это значительно облегчит понимание данной статьи.
Что мы можем искать? Да что угодно, и даже больше! Тип поиска может использоваться не только для того, чтобы отфильтровать материалы по автору или категории. Мы можем получить все материалы автора. Дать возможность автору редактировать свои материалы, выбирая из списка, а не как в стандартной Joomla, ковыряясь во всех материалах и выискивая иконки редактирования около своих.
Также тип поиска может использоваться для создания различных модулей. Например, модуля последних новостей. Для его создания нужно просто создать тип поиска, сортирующий материалы по дате добавления(публикации). При этом можно добавить фильтр по категориям, автору и т.д.(пример: последние новости от user’а №1). Если раньше вам приходилось искать по несколько дней подходящий модуль, то теперь достаточно просто правильно настроить тип поиска и вывести его в оболочку модуля. Я не говорю, что всё совсем просто, нет. Чтобы использовать мощь SEBLOD на 100%, нужно обладать широкими знаниями как самого компонента, так и HTML, CSS, PHP. Ну да ладно, ближе к делу. Рассмотрим, как работает тип поиска Seblod.
Менеджер списков и типов поиска
Перейдя в «Seblod» –> «Lists & Search Types», мы попадем в менеджер списков и типов поиска.
Данный менеджер похож на менеджер типов контента и форм. Изначально он имеет три типа поиска – по статьям, по категориям и по пользователям.
Создадим новый тип поиска, кликнув по кнопке «Создать». Перед нами откроется всплывающее окно, позволяющее указать, по какому типу контента мы собирается искать, и выбрать шаблон будущего поиска. К сожалению, эта опция пока не работает . Впрочем, шаблон можно потом и переопределить, рассмотрим переопределение шаблона позже.
После выбора типа контента жмем кнопку «Create List & Search Type» и видим следующее окно:
По виду конструктор поиска напоминает конструктор контента, но между ними имеется множество разных отличий. Прежде всего, мы видим, что первые четыре вкладки имеют другие значения:
- Search Form – форма поиска. В ней мы задаем поля, по которым будет производится поиск.
- Order – поля, по которым будет производится сортировка результатов поиска. Теоретически, поля, заданные в этой вкладке, должны сортировать результаты поиска. Т.е. вместе с результатами должна появляться некая форма «Сортировать по:», но таковой я получить так и не смог. Не совсем понятно, или это недоработка, которую устранят в следующих версиях, или какая-то хитрая сортировка по умолчанию.
- List – шаблон результатов поиска, когда результаты выводятся в виде списка.
- Item – шаблон результатов поиска, когда результаты выводятся в виде блога.
Здесь нужно чуть подробнее остановиться на том, что же такое List и Item. Искушенным Joomla’водам значение этих терминов должно быть понятно сразу. Тем же, кто не так давно знаком с Joomla, объясню.
Представим, что у нас есть категория с новостями. Как мы можем показать ее? Очевидно, что должен быть показан список новостей, но в каком виде? В Joomla есть два основных вида отображения для материалов категории: «Блог» и «Список». Блог показывает каждый материал с заголовком и вступительным текстом, точно также, как на главной странице этого сайта. Список показывает заголовки материалов в виде таблицы или маркированного списка, т.к. просто список ссылок(как в карте сайта).
Теперь вернемся к Seblod. Для результатов поиска он имеет такие же виды отображения, что и Joomla, но… Seblod позволяет настраивать эти виды настолько гибко, что мы может получить практически любой вид отображения. По умолчанию виды отображения работают так:
- Шаблон «Блог» (seb_blog) выводит для каждого материала списка шаблон контента(по умолчанию seb_one).
- Шаблон «Список» (seb_table) выводит таблицу, в строках которой имеется список материалов, а в столбцах параметры этих материалов (поля типа контента Seblod).
Чувствую, что описание получается сложным, поэтому приведу пример. Сейчас мы работаем над одним сайтом, некоторые страницы которого хорошо иллюстрируют шаблоны «Блог» и «Список». Вот пример шаблона «Блог»:
Он используется для того, чтобы вывести материалы (каждая фотография является материалом) на страницу категории.
А вот пример шаблона «Список»:
Он используется для того, чтобы показать пользователю все материалы (фотографии), которые он добавил. Здесь же имеется ссылка на редактирование данных. И то и другое – типы поиска Seblod.
Изначально, когда вы только создали тип поиска, вкладка Item(Блог) неактивна. Почему? Потому, что по умолчанию установлен шаблон List(Список). В одном типе поиска вы можете использовать только один шаблон вывода результатов. Чтобы его переопределить, нужно перейти в левых вкладках на «List», а в правых на «Template». После этого, нужный шаблон можно выбрать в опции «Template»:
Если вы выберите seb_blog и сохраните тип поиска/перейдете на другую вкладку, то увидите, что вкладка «Item» стала активной. При этом вкладка List также остается активной, но поля, заданные на ней, не будут иметь никакого значения.
Перейдем к трем правым вкладкам менеджера списков и типов поиска. Здесь мы видим:
- Configuration – здесь мы можем настроить некоторые опции типа поиска. Например, количество материалов на страницу, сообщение о том, что результаты не найдены, заголовок и др;
- Fields – здесь мы задаем поля, по которым будет производиться поиск, сортировка, и которые будут отображаться в результатах поиска;
- Template – здесь мы выбираем и настраиваем шаблон списка материалов(результатов поиска).
Основная вкладка, с которой мы будет работать, это «Fields». Именно в ней проводится большинство настроек поиска.
Создание типа поиска
Всё, что было описано про Seblod раньше, было очень простым материалом. По-настоящему сложно будет тогда, когда вы начнете настраивать типы поиска. По своей сути, тип поиска – это конструктор SQL-запроса. Иногда бывает так, что проще написать SQL-запрос, чем сконструировать его. Но не стоит сильно пугаться, всё познается, и конструктор тоже.
Так как же нам создать поиск? Для начала нужно определиться, для чего он нам, собственно, нужен. Типы поиска Seblod решают очень широкий круг задач. С их помощью мы можем не только создать форму поиска для посетителей сайта, но также создавать огромное количество различных модулей, как, например, модуль последних/лучших/случайных новостей, слайдшоу, последние посетители сайта, лучшие материалы сайта, наиболее просматриваемые материалы сайта, рейтинг пользователей сайта и многое другое. Кроме модулей мы можем создавать фильтры и списки. К примеру мы создаем меню «Архив», в котором есть пункты, соответствующие разным годам:
- 2008
- 2009
- 2010
- 2011
- 2012
Каждый пункт является ссылкой, ведущей на список всех материалов выбранного года.
После того, как мы определились с целью нашего типа поиска, мы начинаем строить его. Для этого прежде всего создаем форму поиска(вкладка «Site Form»). В форме поиска уже есть одно добавленное поле – CCK. Оно требуется для того, чтобы искать только по выбранному типу контента, не затрагивая остальные. Данное поле является как бы служебным и на первых парах его вообще не следует трогать. Далее начинаются сложности. У новичков много вопросов. Как искать? По каким полям? Как ограничить результаты и.т.д. Я сам, когда только разбирался с типами поиска, сильно путался в способе фильтрации. Теперь придумал для себя некий образ, который помогает упростить работу по составлению поискового фильтра. Делюсь..
Для начала нужно понять, что пустая форма, содержащее только поле CCK, выдаст все материалы данного типа поиска. Она работает по принципу: изначально выдавай всё, а дальше фильтруй выдачу. Фильтрацию мы будем осуществлять, добавляя дополнительные поля.
Предположим, что нам нужно получить список последних новостей сайта. Все новости хранятся в отдельной категории «Новости». Как нам правильно составить фильтр? Легко! Из всех материалов данного типа контента нам нужно выбрать те, которые принадлежат к категории «Новости». Как это сделать? К нашему фильтру мы добавим поле «Article Category Id», означающее ID категории, к которой принадлежат материалы.
Теперь наш тип поиска работает следующим образом: мы выбираем из выпадающего списка категорию, жмем «Найти» и получаем список всех материалов категории. Но это не совсем то, что было нам нужно. Мы хотим видеть не форму с выбором категории а только материалы определенной категории. Как этого добиться? Здесь нам помогут дополнительные опции, расположенные под цифрами от 1 до 6.
Search Form
Кнопка №1
– Label– заголовок поля. Отображается перед полем ввода.
– Variation – вид формы. Само поле может быть скрытым (Hidden), когда форма не видна; просто величиной, которая уже введена в форме (Value), обычной формой для ввода значений (Default); формой для фильтрации (Filter); формой в которую нельзя вводить данные, а можно только видеть то, что там уже введено (Readonly).
Кнопка №2
– Live – если в форму требуется подставить «живое» значение, т.е. такое, которое будет автоматически изменяться в зависимости от каких-то условий, то здесь можно выбрать место, из которого это значение будет браться. На данный момент здесь имеются опции Default (по умолчанию задается в Live Value или вводится пользователем при заполнении формы), Stage (значение задается в окне, которое появляется при клике по ссылке Configure), User (значение так же задается в окне, которое появляется при клике по ссылке Configure, информация берется из данных текущего (авторизованного) пользователя, которые есть в базе данных); Variable (значение так же задаются во всплывающем окне).
– Live Value – значение/переменная для Live, либо ссылка Configure на окно конфигурирования значений.
Кнопка №3
– Match – здесь задаются ограничения для значений поля. Мы можем выбрать точное совпадение, совпадение по любому из слов, задать неравенства(значение в поле больше, меньше какого-либо числа) и многое другое. При выборе конкретного значения справа появляется значек "+", при нажатие на который мы переходим в окно настройки.
–Stage – уровень фильтрации. Это самая сложная опция, которая позволяет выполнить подзапрос и передать его результат в основной запрос. Она может пригодиться, например, когда какое-то значение для Live Value нельзя получить явно. В этом случае мы сначала выполняем поиск этого значения, а затем подставляем его в Live Value и выполняем основной поиск. Пример использования данной опции есть на официальном форуме Seblod.
Кнопка №4
– Access – уровень доступа к данному полю. Т.е. поле смогут увидеть только те пользователи, которые принадлежат группам, имеющим уровень доступа, выставленный здесь.
– Restriction – ограничение на расположение и действие. Если выбрать Workflow, справа появится знак "+", кликнув на который перейдем к форме выбора – только в административной части показывать поле, или на сайте, или на обоих (Both), и какие действия (Action) совершать – допускать только добавление информации в поле, только редактирование, или оба действия.
Кнопка №5
– Conditional States – зависимости одного поля от другого. Если мы нажмем Add, то сможем показать/скрыть/отключить/применить класс к полю, когда другое поле из этого же типа контента примет определенное значение.
Кнопка №6
– Markup – разметка. Позволяет оформить поле, используя CSS или предопределенные стили.
– Markup Class – стиль разметки разметка. Позволяет задать полю дополнительный CSS-класс.
Кнопка №7
– Required/Validation – при клике на ссылку Optional можно установить, обязательное или нет поле для заполнения. Тут же можно ввести подсказку, которая будет всплывать во время заполнения (Required). Для проверки того, что пользователи ввели в форме, используется Validation. В правом поле можно ввести сообщение об ошибке, если пользователь ввел неправильные данные.
Это все опции вкладки Search Form. Вернемся к нашему списку последних новостей.
Для того, чтобы показать только материалы определенной категории, нам нужно задать для поля категории «живое» значение и скрыть форму выбора категории.
Для поля Article Category Id задаем:
– Variation – Hidden
– Live Value – 5 (5 – ID категории новостей. Его либо смотрим в списке категорий Joomla, либо жмем на значек «{{» и выбираем категорию из выпадающего списка в появившемся окне).
Что получится в результате? У нас будет заполненная скрытая форма, которая будет отправляться(сабмититься) при открытии страницы(модуля поиска). В результате мы получим все материалы категории с ID = 5. Отсортировать материалы по дате добавления можно будет прямо в настройках модуля/пункта меню, который мы используем для данного типа поиска. Первая часть работы закончена. Теперь нужно настроить отображение результатов поиска.
Создание списка результатов
После того, как фильтр материалов создан, нужно настроить отображение списка результатов. Предположим, что мы хотим отображать последние новости в формате Блога. Это означает, что нам нужно заполнить полями только вкладку Item, вкладку же List мы не трогаем. Для начала переключаем шаблон отображения в режим блога(о том, как это сделать, я писал в начале статьи). Переходим на вкладку Item и добавляем в нужные позиции нужные поля.
Предположим, что нам нужно показывать следующие поля:
- Заголовок
- Краткое описание
- Автор
- Дата добавления
Добавим все эти поля в конструктор:
Также заодно разберемся с настройками, спрятанными под цифрами от 1 до 4(для List и Item они одинаковы):
Search Form
Кнопка №1
– Label – заголовок поля. Отображается перед полем ввода.
Кнопка №2
– Link – если значение должно являться ссылкой, определяет на что именно следует ссылаться. Доступен выбор следующих значений: на контент (Content), с возможностью удаления (Delete) и просмотра (View), на форму (Form), на результаты поиска (List & Search). Пример использования такой опции – функционал тегов.
– Typography – уникальное оформление значения.
Кнопка №3
– Markup – разметка. Позволяет оформить поле, используя CSS или предопределенные стили.
– Markup Class – стиль разметки разметка. Позволяет задать полю дополнительный CSS-класс.
Кнопка №4
– Access –уровень доступа к данному значению. Т.е. поле смогут увидеть только те пользователи, которые принадлежат группам, имеющим уровень доступа, выставленный здесь.
– Restriction – ограничение на расположение и действие. Если выбрать Workflow, справа появится знак "+", кликнув на который перейдем к форме выбора – только в административной части показывать поле, или на сайте, или на обоих (Both), и какие действия (Action) совершать – допускать только добавление информации в поле, только редактирование, или оба действия.
Поскольку наш список последних новостей должен иметь ссылки на их полнотекстовые версии, то мы добавим полю Article Title ссылку на полную новость(Link – Content).
Всё, тип поиска последних новостей готов. Осталось показать его на сайте.
Вывод результатов поиска на сайте
Поскольку для блока «Последние новости» подходит больше всего модуль, то в нем мы этот блок и выведем.
Перейдем в менеджер модулей. Нажмем кнопку «Создать». Выберем тип модуля «Seblod – List». Откроется окошко следующего вида:
Все поля слева стандартные для Joomla и комментариев по ним не требуется. Справа есть следующие опции, которые мы должны установить:
– Search Type (List) – выбираем из выпадающего списка наш тип поиска;
– Count – количество материалов, которое нужно показать;
– Default Order – порядок сортировки материалов по умолчанию. Поскольку наши новости называются «Последние», то выбираем «Most Recent First».
– Final Order – позволяет выбрать материалы для отображения определенным образом. Например, если в Count установлено «5», всего новостей 10, а здесь выбрано «Random», то мы получим в модуле 5 случайных новостей, расположенных в порядке возрастания даты публикации. Сейчас здесь ничего менять не будем.
В дополнительных параметрах есть область «Live + Variation» в ней мы можем указать «живые» значения и вид отображения полей для конкретно этого модуля. Приоритет этих значений выше, чем в типе контента. Это сделано для того, чтобы вы могли создавать много разных похожих модулей на основе одного типа поиска. Пример: предположим, что у нас есть не только последние новости, но и последние объявления и, скажем, последние рецепты. Нам нужно показать на сайте три модуля – по одному на каждую категорию. Чтобы не создавать 3 однотипных типа поиска, мы можем создать один тип поиска, а для модулей указывать Live и Variation прямо в этих модулях.
Заполняем все опции и публикуем модуль. Смотрим сайт:
Как видите, у нас получился модуль последних новостей. Остается только красиво оформить его в CSS и можно пользоваться. Согласитесь, сделать такой модуль со всеми необходимыми полями в Seblod гораздо проще, чем искать подходящий в огромном множестве расширений Joomla. К тому же, в случае обновления Joomla, не нужно ждать, пока обновятся все модули. Достаточно обновить только Seblod.
Избыточность кода
Есть и небольшой минус, или скорее недоработка. Поскольку в случае использования Блога каждый материал списка использует шаблон seb_one, т.е. шаблон с 42 позициями, то список даже из 10 материалов невероятно раздувает код страницы. Для этого случая я сделал упрощенный шаблон seb_simple. Он сам, а также инструкция по его установке выложены на форуме.
Если вы осилили эту и предыдущую статьи, то дальше будет уже легче. Тренируйтесь работе с типами поиска и вскоре вы поймете насколько упростится создание сайтов и расширятся ваши возможности. Впереди еще много статей по Seblod, очень много, а на сегодня всё.
-----------------
Сервис хранения бэкапов от 1$ и до 500Gb. Промо-код: BACKUP99 - скидка 99% на первый месяц. Топ-1 на zapili.net!
Пару вопросов касаемо как раз поиска:
1) Ссылка на результаты поиска (Link -> Search&List) может ли сразу отфильтровать эти результаты по нескольким полям? Т.е. в настройках (за маленьким плюсиком) есть такая опция как Field, позволяющая указать одно (?) поле для фильтровки, да еще и, как я понимаю, только по значению, равному ссылающемуся полю...
2) Можно ли осуществить выдачу из не повторяющихся значений? Т.е., например, четко ищем по названию (title) "Гиацинты", а в БД с таким названием несколько статей (алиасы, понятно, разные), можно ли вывести из них только одну произвольную?
1) Здесь всё правильно. Одно поле не может передать несколько значений. Оно может передать только одно, своё, значение в другой тип поиска. Потому предусмотрена форма только для одного поля. Если нужен фильтр по нескольким полям, то Live для остальных полей должны заполняться уже в соответствующем типе поиска.
2) Вряд ли. Это слишком сложное условие для конструктора. Как Seblod может понять, что нужно вывести первую статью с названием "Гиацинты", а не вторую или третью? Это можно сделать, если требуется вывести всего одну статью. В этом случае надо просто ограничить список результатов поиска до одного.
Подумать только, если бы не уважаемый Wedal, я бы жил, не подозревая, что в принципе может существовать расширение с таким потрясающим функционалом!
А если бы и узнал, то все равно не разобрался бы, как им пользоваться
У меня такой вопрос: я повторял все точно как в этой статье, но выдает ошибку 404(если заголовки нажимать друг за другом, то есть 1 открывается нормально, а на 2 нет)? Спасибо заранее!
1. Какими средствами это делается?
2. С их помощью можно создать ссылку для другого действия, скажем, "Снять с публикации" или "Удалить"
3. Можно ли данным ссылкам придать графический вид (картинки) стандартными средствами SEBLOD без вмешательства в CSS
1) Это ссылка на форму текущего типа контента.
2) Не пробовал. Но если и можно, то сложнее, чем на редактирование.
3) Нет. CSS - самый простой вариант.
2). Перелопатил все, что было в сети на сей счет, но ничего не увидел. Скорее всего, без PHP для решения данной задачи не обойтись. Грустно :(
А про первый пункт напишите подробнее. Во второй вкладке добавляю ссылку на форму, но у меня там значения другие не те что, при создании формы были, или может я делаю что-то не то
Еще как индексируются, ставьте нужные аливасы при заливке, заливайте к примеру на Яшу и в перед. У меня есть пример, видео которого я залил для прикола и забыл. Через год это видео начало выдаваться при запросах схожей тематики наряду с мегапроплаченными и продвинутыми сайтами.
Как сделать ссылку на блог материалов, которые нашел какой-то (List & Search Type)?
ps: Где тут у вас по рекламе потыкать?)
Насколько я сам понял, это на вкладке Template для полного представления материала. У меня такая беда тоже случалась, решил проблему отключением шаблона SEBLOD в настройках типа контента. Тогда он не перекашивает основной шаблон Joomla.
В целом же хочу заметить, что правильно было замечено несколькими постами выше - существенную роль в отображении играет наследование CSS. Именно играет первую скрипку во внешнем виде контента. И это не только SEBLOD касается.
Делаю тип поиска, хочу из родительских категорий выбрать подкатегории, делаю так как вы описали в примере с последними новостями.
Однако в результатах выдает только ту самую родительскую категорию, ИД которой я указал как фильтр... Подскажите плз как правильно...
ОГРОМНОЕ СПАСИБО
Sorry за оффтоп...
Повторил пример описанный в этой статье. Модуль выдает результат: There is no result.
Что я не так сделал или не учел?
Спасибо!
Может это связано?
У меня такое дело. Никак не могу сообразить, как вывести в профиле пользователя (Community Builder) список созданных материалов. Т.е. как показать результаты в профиле я знаю, не могу сообразить как настроить запрос, у меня тупо выводит все имеющиеся материалы категории.
К примеру, "List & Search Type" отбирает подкатегории по заданному "Category Parent Id" и выводит в "List" их "Category Title". И нужно, чтобы отображались только непустые подкатегории.
Спасибо за статьи!
Потихоньку учусь.
Такой вопрос- я создал 3 материала, текстовое поле Город, назначил материалам города в админке, никак не могу вывести поиск по городам. Как это правильно сделать?
Делаю по инструкции вроде, а получается вывести только селект "All Categories", в котором нет списка категорий.
Ммм...
Не подскажешь, как под гостем видеть то же самое?
И можно ли в этом списке выдавать не все категории, а, к примеру, лишь подкатегории какой-либо категории?
У меня CCK (Select dynamic) выводит блог только если в настройках таблицу #__cck_core_types сменить на #__content, но и в этом случае статьи выводятся только те которые набраны с помощью форм Seblod. А те которые написаны до установки Seblod не показываются.
Все же видео необходимо прицепить к данному уроку.
Уже и джумлу пере устанавливал без контента, и seblod ставил с нуля и создавал новые статьи через него. Все без толку(
Уважаемый Wedal откликнитесь на просьбы трудящихся
Создаю проект, а-ля витрина с ценами.
Нужно создать фильтр по цене ОТ и ДО (посетитель вбивает самостоятельно).
Создал типы поиска "Цена от" "Цена до", и задал им параметр в 3 пункте (Match + Match (Collection)) и задал параметры в столбце "Match", как "Highter (> or =)" для "Цена от" и "Lower (< or =)" для "Цена до" соответственно.
Поле цены хранит в себе число и в базе хранится с параметром Intager.
При выводе материала появляются поля сортировки цены от-до. Указывая диапазон (скажем от 1 до 2000) и применяя настройку, движек выдает информацию о том, что нет подходящих результатов.
Пробовал применить Live Plugin SD CCK Field V 1.0.1 и указывать там привязку на поле с ценой (скажем системное имя моля price).
Подскажите, как мне реализовать этот фильтр по цене.
Спасибо!
Не совсем понял "Место хранения для этих полей обязательно должно совпадать с местом хранения поля "Цена".
У меня изначально в одном типе поиска в группе параметром состояли те самые пункты (сама цена и параметр от - до). Вот скрин.
Если не трудно, объясните по шагам и параметрам (возможно дополнительные плагины понадобятся) для каждой из ячеек.
Еще вопрос. Нужно ли создавать в моей форме (из Form & Content Type) эти два скрытых параметра (цена от-до) с получением информации в них с помощью плагина Live Plugin SD CCK Field V 1.0.1?
Жду Вашего ответа.
ПС. Извините за беспокойство, но уже неделю не могу понять как это заставить работать.
Огромное спасибо!
Ссылка на форум http://www.seblod.com/support/forum/Search-Types/6205-PriceSize-Search-by-with-MinMax-Values.html
Вникните в идею, о которой я написал. Она проста, но совсем не очевидна.
В базе данных поле у вас одно: цена. Но это вовсе не означает, что ему должно соответствовать только одно поле в Seblod. О чем я говорю? Вы можете создать в Seblod 3 поля: "Цена", "Цена от", "Цена до" и указать им одно и то же поле хранения в базе данных. Т.е. получается, что все три поля будут ценой. Зачем делать их три? Для того, чтобы вы могли создать фильтр, в котором одновременно будет проверяться и нижняя граница цены и верхняя. Т.е. в форме на сайте вы указываете границы и поиск получается как раз по цене от и до.
Если чрез пробел не поможет, то попробуйте так же через запятую без/с пробелом.
Подскажите, пожалуйста, как задать вывод только тех записей, у которых определенное поле пустое (тип строка). В SQL запросе в таких случаях указываем NULL.
Подскажите, пожалуйста, каким образом можно сделать так, что бы поля для фильтрации выводили в одном месте (модуле) шаблона сайта, а результаты поиска отображались в другом месте (В mainbody шаблона).
1) Создать тип поиска
2) Создать пункт меню типа Seblod List & Search и назначить ему этот тип поиска.
3) Создать модуль типа SEBLOD - Search, выбрать в нем нужный тип поиска и пункт меню, созданный в п.2.
ОГРОМНОЕ СПАСИБО!!!! ) дай Аллах тебе здравия, да уродяцца у тебя финики, ныне, присно и во веки веков ))))
Хотя немножко не так, как хотелось бы. Потому как вместе с результатами поиска выводится и сама форма поиска с полями и кнопкой "Поиск". Получается отображаются 2 формы фильтрации. Одна в модуле, другая совместно с результатами поиска.
Благодарю ) как-то я упустил этот момент ) Буду более внимательным )
Можно ли реализовать следующее. Создать поле типа "Select - Multiple" список для мультивыборки, а в поисковой форме выводить это поле как "Select - Simle" (список выбора), что бы можно было выбирать единичное значение. Просто так выглядит более эстетично )
А вообще, можно попробовать сделать так: создать два поля - "Select - Multiple" и "Select - Simle", и выбрать для них одно хранилище данных. В формах вы сможете использоваться любое из полей, получая доступ к этому хранилищу.
заполяюися статьи(совместимые авто) пуктем выбора по трем полям: два поля Марка_авто и модель_авто (оба связаны "Select - Dynamic Cascade") и поле год_авто типа "Select - Dynamic". Тайтл статьи составляется в фразу = Марка модель год авто. (по нему хочу искать путем выбора МАРКА-МОДЕЛЬ_ГОД через Select - Dynamic)
В результате на сайте можна выбрать колесо и видеть каким авто оно подходит.
У меня не получается создать поиск по аналогичным вводу полям - Марка-модель-год авто. Нужен поиск по точному совпадению...
Пожалуйста, помогите!
Поля ТК "колесо": фото и текст (хар-ки); поля ТК "совместимое авто": два поля Марка_авто и модель_авто (оба связаны "Select - Dynamic Cascade") и поле год_авто типа "Select - Dynamic". Тайтл статьи формируется SD Field Concat = Марка модель год авто = Audi Allroad 2005.
Необходимо сделать поиск по тайтлу ТК "совместимое авто" который выведет в результатах ТК "колесо", тоесть выбор колеса (запчасти) по авто, к которому оно подходит.
Тоесть: пользователь выбирает из выпадающего списка марку Audi, потом модель Allroad, годвыпуска 2005 - и получает колеса которые подходят к этому автомобилю.
Тут важно точное соответствие поисковой фразы к тайтлу контента. Поэтому использую тот же выбор значений из списка: два поля Марка_авто и модель_авто (оба связаны "Select - Dynamic Cascade") и поле год_авто типа "Select - Dynamic". Потом формирую поисковую фразу с помощью SD Field Concat = Марка модель год авто = Audi Allroad 2005.
Но дальше никак не получается настроить поиск - у меня при всех вариантах выводится список всех ТК "колесо" :) Прошу помощи.
Что-то у меня ни Stage (уровень фильтрации) ни Conditional States не получается использовать... В какую сторону смотреть? где искать решение?
Если же вам все-таки хочется искать по тайтлу, то:
1) Тайтл также должен сохраняться в базе данных, а не формироваться автоматически из нескольких полей при генерации страницы.
2) Текст в поиске должен точно соответствовать тексту тайтла.
3) Для поля этого текста нужно установить: "Match - Exact".
Конечно тайтл сохраняется - это же тайтл контента. Но как организовать поиск по нему?
Установлено - результата нет...
1) Создаете новый тип поиска и выбираете тип контента, по которому искать. В вашем случае это тип контенте "совместимое авто" или Article.
2) Добавляете к форме поиска поля "Марка", "Модель", "год".
3) Выставляете для каждого из этих полей "Match - Exact".
4) Добавляете поля в Item, которые должны выводиться.
5) Сохраняете.
Форма поиска с такими настройками должна работать. Естественно, поля "Марка", "Модель", "год" также должны сохраняться в БД при добавлении статей.
Попробуйте создать тип поиска заново по этому алгоритму. Если не поможет, стоит заглянуть в БД, чтобы понять, что, все-таки, сохраняется и в каких таблицах.
Но остался один вопрос: Как создать поиск, где пользователь вводит поисковую фразу (поле 'search_phrase', тип Text) и жмет кнопку искать, а поиск происходит по конкретно определенных в List & Search Type полях (field1, field2, field3 даного ТК? Как определить сравнение поля search_phrase c множеством разных полей ТК???
Как мне кажется даже если и возможно то реализация будет далеко не простой.
Может ли стандартный поиск Джумлы найти созданный в Seblod материал? У меня вот не находит (если искомое слово находится не в стандартном поле материала (вроде title), а в созданном мной поле). Можно как-нибудь это исправить? Может, я просто что-то неправильно указал при создании типа контента или поля (например, запертый замочек или что-то вроде)?
Короче говоря, используйте типы поиска Seblod. Это гораздо более мощный и гибкий инструмент, чем стандартный поиск Joomla.
Не редактируется опубликованная страница "Контакты". Нет кнопки "Редактировать", нет в списке материалов. Статьи и категории добавляются через формы seblod, и успешно редактируются. Сайт запускался не мной.
Помогите пожалуйста определить ее расположение для изменения!
В настройках модуля SEBLOD - List [mod_cck_list], права на изменения разрешены для super user'a
Joomla! 3.1.1/SEBLOD 3.1.3
категория Контакты под id=14 есть, материала под id=153 нету.
это я уже пробовал вывести обычную страницу через материалы, но как только я снял с публикации в seblod Lists & Search Types/User Contact Search начались конкретные глюки на сайте, меню контакты либо вообще переставали работать, либо с некорректным отображением.. половина кнопок в меню перестала работать, сайт стал зависать. Вернув эту публикацию обратно, проблемы не ушли. Пришлось откатиться. Получается, что описание страницы "Контакты" находиться в категории, а где оно может храниться в seblod? в базе? Я пока оставлю как есть, посмотрите пожалуйста. можно в аську 58522850, готов оплатить.
Уже пару часов читаю статьи, открываю для себя много нового. Но так и не могу найти нужную мне информацию. Интересует, как у вас работает поиск на сайте. Хочу решить вопрос с опечатками и набором текста на английском языке вместо русского в поиске joomla. Очень уж хочется прикрутить себе на сайт такую фичу. Прошу прощения, что не по теме.
Пример страницы.
http://ad.nulsk.ru/index.php/otchet/vvedennye-doma
Подскажите как реализовать такую возможность
Подскажите по какому по фильтровать и что указать в настройках?
Хочу использовать себлод для работы с отдельной таблицей.
1. Создал таблицу с 2 полями.
2. Создал App Folder (понимаю, что не обязательно)
3. В себлод Создал форму контента и создал 2 поля, в которых указал в качестве хранилища соответствующие поля в таблице.
4. При добавлении данных в таблицу через эти формы вижу, что данные в таблицы добавляются (через phpAdmin).
5. Создаю список. Добавляю эти 2 поля. Фильтры не назначаю.
Пытаюсь просмотреть этот список и выдает пустую таблицу с наименованием моих полей и пустыми строками по количеству строк в оригинальной таблице.
В чем может быть ошибка?
В полях типа поиска должно быть как минимум одно поле: CCK. Его значение в Live должно указывать на используемый объект. Только в этом случае поиск будет произведен.
Вообще это работает так. При добавлении новой записи(даже в отдельную таблицу) SEBLOD также добавляет информацию о ней в свою служебную таблицу, в которой есть информация про абсолютно все материалы, созданные с помощью SEBLOD, независимо от типа контента. В этой таблице для каждого объекта(статья, пользователь, категория, и др.) имеется уникальный идентификатор, по которому поиск определяет, какие материалы доставать из базы.
Если с CCK и его значением все в порядке, в настройках типа поиска включите Debug. После этого в поиске даже с пустым результатом появится SQL-запрос, который этот результат возвращает. По нему можно будет понять в чем ошибка. Если не разберетесь сами, напишите ответом на комментарий этот SQL-запрос.
не могли бы объяснить:
"В форме поиска уже есть одно добавленное поле – CCK."- у меня нет его почему то и не могу найти, что бы добавить.