Как наладить поиск по сайту?

15.07.2024

Как наладить поиск по сайту?

Компоненты, необходимые для организации текстовго поиска по сайту доступны в базовом комплекте поставке, но не на каждом сайте они настроены. То, что описано ниже, можно использовать именно в том виде, как описано, но желательно, результат оформить в стиле Вашего сайта.

Важно понимать, что введёная поискова строка будет искаться именно в том виде, в котором она будет введена. Морфология не учитывается. Порядок слов также не будет изменён. Чтобы обойти эти ограничения, можете фразы с другим порядком слов и в других падежах, временах, спряжениях и т.п. указывать в каких-либо скрытых полях, которые не будут видны на сайте. И указать эти поля как те, по которым также должен вестись поиск. Это будет описано ниже...

Создание формы поиска

Форму поиска (обычный HTML-код) можно написать прямо в шаблонах в элементе HTML-код веб-страницы, но это не самый продуманный вариант, если, вдруг, Вам понадобится быстро изменить один и тот же код сразу в нескольких шаблонах. Лучше создать одно редактируемое поле, в котором будет HTML-код формы. И уже это поле можно вставить во всех (нужных) шаблонах. Так в случае изменения кода в форме, он автоматически изменится во всех (нужных) шаблонах.

  1. Перейдите в раздел Контент \ Редактируемые поля (можно в другой подраздел раздела Контент)
  2. Нажмите Добавить новую запись
  3. Укажите любое название, например, Форма поиска
  4. Укажите любой ID, например, search-form (дальше будет ориентироваться именно на такой ID)
  5. Выберите шаблон Многострочное поле без редактора и нажмите Добавить. Если такого шаблона нет (был удалён), то ознакомьтесь с тем, как создать шаблон и вставить в него элемент Многострочное поле без редактора.
  6. Вставьте в поле Содержимое поля без редактора (название может быть другое), код указанный ниже, скорректируйте его под свои нужды и сохраните изменения.

Пример кода:

<form method="post" action="/search/">
  <input placeholder="Поиск..." type="text" name="search" value="{plugin:current_SearchText}" />
  <input type="submit" value="Найти">
</form>

Для тега form, можно изменить следующее:

  • method - может быть, как post, так и get. Во втором случае поисковый запрос будет доступен в адресной строке браузера
  • action - здесь должен быть указан адрес страницы, на которой будут располагаться результаты поиска. В нашем случае это страница с ID search. Далее будем ориентироваться именно на него, хотя ограничений на ID страницы с результатами поиска нет.

Поле, в котором будет вводиться поисковый запрос, обязательно должно иметь значение search в свойстве name. Изменить можно следующее:

  • type - может быть любым, подходящим в Вашем случае, например, number. Но в большинстве случаев лучше оставить text или search.
  • value - можно оставить пустым или написать любой другой текст, который сразу же будет отображаться в поле для ввода поискового запроса. Чтобы автоматически отобразить здесь только что введённый поисковый запрос, напишите {plugin:current_SearchText}

Других ограничений или обязательных требований нет. Для отправки формы можете использовать, как <input type="submit"><input type="image"><button type="submit"></button>, так и любой другой, допустимый в HTML, вариант.

Естественнно, код формы нужно оформить в стиле Вашего сайта, если он сильно выделяется на фоне других элементов интерфейса wink

Код формы поиска, например, имеющей вид {plugin:content;id:search-form;value:multistringfield_1_value}, будет виден ниже поля Содержимое поля без редактора (название может быть другое). Скопируйте его и вставьте в элемент HTML-код веб-страницы во всех нужных шаблонах. Если код формы не виден, то на панели инструментов нажмите кнопку Подсказки и помощники по вставке плагинов и свойств: показать.

Создание списка результатов поиска

Список результатов поиска отображается также, как любой другой список или любое меню - с помощью плагина универсального меню.

  1. Перейдите в раздел Справочники \ Оформление меню нажмите Добавить новую запись
  2. Нажмите Добавить новую запись
  3. Укажите любое название, например, Результаты поиска
  4. Укажите любой ID, например, search-results (дальше будет ориентироваться именно на такой ID) и нажмите Добавить

Далее в самом простом случае достаточно заполнить только поле HTML-код обычной записи, например, таким кодом:

<p>
  <a href="{content_url_value}">{content_name}</a>
</p>

Чуть более сложный вариант, в котором также будет отображён путь к найденным страницам при условии, что вариант меню с ID path существует (не было удалён):

<p>
  <a href="{content_url_value}">{content_name}</a>
  <br />
  {plugin:menu;id:path;select:path;factor:{content_id}}
</p>

Если учесть, что результатов поиска может быть много, то лучше разбивать список на несколько подстраниц. Тогда также нужно заполнить следующие поля, например, следующими кодами:

  • HTML-код до списка подстраниц: <p><a href="{menu_subpage_firsturl}" title="В начало списка">«</a>
  • HTML-код после списка подстраниц: <a href="{menu_subpage_lasturl}" title="В конец списка">»</a></p>
  • HTML-код обычного элемента списка подстраниц: <a href="{menu_subpage_url}">{menu_subpage}</a>
  • HTML-код активного элемента списка подстраниц: <a href="{menu_subpage_url}">{menu_subpage}</a>

Код меню тоже желательно оформить в стиле Вашего сайта, если он сильно отличается от других элементов интерфейса. Ограничений или обязательных требований по части HTML-кода - нет.

Осталось только вставить код для вызова списка результатов поиска в основной текст страницы c ID search (либо с другим ID, который указан в форме поиска), либо в HTML-код её шаблона.

Код может быть, например, таким:

{plugin:menu;id:search-result;search:{plugin:current_SearchText};inlist:20;maxsubpages:10;factor:.;select:children-all;sort:name}

Вы можете использовать другие параметры для вызова плагина универсального меню. Важно обратить внимание на следующие:

  • id: должен быть равен ID списка (меню), созданного для отображения результатов поиска
  • types: здесь можно через запятую перечислить типы, записи, которых Вам нужны. Например, если нужны новости и товары, то напишите news,goods. Если ничего не указывать, то поиск будет вестись по записям всех типов.
  • select: в большинстве случаев больше других вариантов подойдёт all (поиск будет вестись по всей струтуре сайта). Также часто может быть полезен вариант children (для поиска только по непосредственным подразделам того, что указано в factor). И также может быть полезен вариант children-all (для поиска по всем подразделам того, что указано в factor). Последний вариант даёт самую высокую нагрузку на веб-сервер, поэтому не является предпочтительным, если другие варианты дают схожий результат.
  • search: здесь должна быть указана поисковая фраза. Чтобы автоматически указать здесь то, что было введено в форме поиска, напишите {plugin:current_SearchText}.
  • search-cols: здесь через запятую можно указать поля, по которым будет вестись поиск. По умолчанию используется такое значение: id,name,seo_title,seo_description,seo_keywords,maintext_value. Вы также можете добавить в этот список другие поля, в том числе те скрытые поля, про которые написано в начале данной статьи.
  • factor: не будет иметь значение, если в select указано all. Для других, описанных выше, вариантов здесь можно указать ID той страницы, подразделы которой нам важны в поиске, например, catalog для поиска товаров и их категорий. Если нужно указать самый верх структуры (для поиска по всем её подразделам), укажите точку - .
  • inlist: позволит не выводить огромное количество результатов поиска на одной странице, а разбить список на несколько подстраниц, ограничив каждую максимально допустимым, указанным здесь количеством записей
  • maxsubpages: позволит ограничить количество подстраниц с результатами поиска на случай, если их будет слишком много
  • sort: даст возможность организовать один из вариантов сортировки

 


CMS Zion WebEngine является бесплатной системой. Развивается за счёт рекламы, помощи веб-студии #webZion и других спонсоров.

 

Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...

 

Заранее, большое, спасибо

 

Блог обновлений

Zion WebEngine X6.09.03
  • Расширен функционал классов для работы с базой данных и с шаблонами

Zion WebEngine База данных/Таблицы данных Классы Шаблоны контента

Zion WebEngine X6.09.02
  • Значительно расширен функционал классов для работы с базой данных и с шаблонами
  • Устранена ошибка в дистрибутиве обратной связи (спасибо Вагонка Пермь)
  • Доработан главный файл интерфейса администратора: переработано использование некоторых классов
  • В дистрибутив Ядра внедрены некоторые JS-фреймворки, которые помогут сделать использование части функционала более удобным
  • Доработан плагин для работы с меню администратора

Zion WebEngine Zion Mail Back Административный интерфейс База данных/Таблицы данных Классы Меню администратора Обратная связь/Обратный звонок Плагины Шаблоны контента

Zion WebEngine X6.09.01
  • Доработан класс для управления проектом: устранена возможность возникновения маловероятной ошибки при обновлении

Zion WebEngine Классы Обновления CMS

Zion WebEngine X6.08.31
  • Доработана форма отображения пути к выбранному элементу интерфейса администратора: улучшена совместимость с Bootstrap
  • В Ядро добавлены необходимые компоненты для работы с иконочными шрифтами
  • В Ядро добавлены некоторые JS/CSS и графические элементы для создания более удобной сортировки записей (работа пока не завершена)
  • Сделано несколько доработок в меню администратора
  • Продолжена работа над классом для управления шаблонами

Zion WebEngine Административный интерфейс Классы Меню администратора Шаблоны контента

Zion WebEngine X6.08.30
  • Оптимизирован драйвер оболочки: удалены некоторые архаизмы
  • Расширен функционал класса для управления контентом
  • Из дистрибутива Ядра удалены некоторые формы и обработчики, так как их функционал реализован в классе управления контентом
  • Доработана справочная система для Ядра
  • Доработаны маркеры
  • Доработана система мониторинга для Страниц, SEO Booster и Доски объявлений
  • Доработан мастер вставки свойств проекта
  • Создан класс для управления шаблонами контента (работа над ним ещё не завершена)
  • Доработана графическая составляющая меню администратора
  • Доработан класс для работы с уведомлениями: устранена возможная несовместимость с ЧПУ
  • В связи с подготовкой к предстоящему редизайну административного интерфейса и к смене HTML/CSS-ядра в комплект поставки Ядра включены CSS-настройки фреймворка Bootstrap
  • Доработан плагин меню администратора

Zion WebEngine Zion SEO Booster Zion Bulletins Board SEO-параметры Административный интерфейс Адрес (URL)/ЧПУ/Переадресация Драйверы Классы Контент/Контентные единицы Меню администратора Мониторинг Объявления Обработчики Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства Уведомления Формы Шаблоны контента

Zion WebEngine X6.08.29
  • Повышена производительность из-за корректировки распределения памяти классов и объектов
  • Доработано множество плагинов, форм администрирования, мастеров вставки плагинов, драйверов, обработчиков, элементов администрирования
  • Доработаны главные файлы гостевого и административного интерфейсов
  • Доработана система мониторинга
  • Доработана авторизация администратора
  • Изменился формат опций, используемых классом для управления проектом: реализован автоматический конвертер для устранения возможной несовместимости со старыми версиями CMS, использующими другой формат опций
  • Доработаны принципы работы с объектно-ориентированными и классно-ориентированными элементами администрирования и обработчиками

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion JivoSite Zion Banners Manager Zion Sender Zion Server Zion Robokassa Zion Bulletins Board Zion Polls Lightbox Zion Edition Zion Articles Tree Zion News Line FCKeditor Zion Edition Административный интерфейс Гостевой интерфейс Доступы/Пользователи Драйверы Классы Мониторинг Обработчики Плагины Помощники/Мастеры/Инструкции/Подсказки Формы

Zion WebEngine X6.08.27
  • Доработан редактор шаблонов для товаров: теперь, чтобы добавить или удалить характеристики в шаблоне товаров, нет необходимости использовать клавиатуру - достаточно поставить или снять нужные галочки
  • Драйвер оболочки доработан: ускорена обработка свойств страниц, изменено многое в работе со страницами
  • Во избежание возможной несовместимости и из-за большей, чем планировалось ранее, универсальности класс работы со страницами переименован в класс работы с контентом: его функционал значительно расширен
  • Оптимизирована система мониторинга для страниц: часть функционала теперь реализована в классе для работы с контентом
  • Из дистрибутива Ядра удалены настройки для страниц по умолчанию: класс для работы с контентом создаёт их самостоятельно
  • Редактирование опций для страниц частично перенесено в класс работы с контентом
  • Главные файлы гостевого и административного интерфейсов доработаны для автоматической загрузки свойств контента
  • Доработано редактирование и сохранение страниц: частично задействован класс работы с контентом
  • Доработан выбор редакторов контента для страниц: частично задействован класс работы с контентом

Zion WebEngine Zion Catalog Административный интерфейс Гостевой интерфейс Драйверы Классы Контент/Контентные единицы Мониторинг Редактор контента/WYSIWYG-редактор Сайт-каталог Свойства Характеристики/Разновидности Шаблоны контента

Zion WebEngine X6.08.26
  • Доработаны опции для страниц: из них убран функционал для настройки отображения уведомлений, а также для вывода страницы по подстраницам
  • Доработаны настройки для страниц по умолчанию
  • Доработан главный файл гостевого интерфейса: уведомления теперь отображаются в новом формате
  • Ускорена работа плагина PageLoader: из него убран функционал для работы с уведомлениями в старом формате, а также для вывода страницы по подстраницам
  • Доработана форма редактирования шаблонов страниц: учтены особенности использования некоторых тегов в CMS
  • Доработан класс для управления уведомлениями: повышена совместимость с некоторыми компонентами CMS
  • Создан класс для работы со страницами (работа над ним ещё не завершена)
  • Мастер вставки плагина PageLoader доработан для учёта последних изменений
  • Из мастера вставки свойств страниц удалены более недоступные свойства
  • Доработан драйвер оболочки: из него удалён более ненужный функционал, а также внесены коррективы в работу со страницами
  • Доработан плагин для работы с меню администратора
  • Расширен функционал класса для работы с проектом, устранены некоторые недочёты
  • Из дистрибутива Ядра удалены некоторые формы администрирования в связи с тем, что их функционал теперь доступен в классе для управления проектом
  • Изменено расположение некоторых пунктом в меню администратора: если что-то потеряли, ищите в новом разделе "Опции"
  • Значительно упрощено редактирование опций страниц
  • Доработано редактирование и сохранение страниц
  • Доработан выбор редакторов контента
  • Доработана система мониторинга для страниц
  • Теперь опции для страниц действуют на все варианты дизайна, а не только на выбранный

Zion WebEngine Zion JivoSite KCAPTCHA Zion Edition Гостевой интерфейс Драйверы Классы Контент/Контентные единицы Меню администратора Мониторинг Пагинация/Подстраницы Плагины Помощники/Мастеры/Инструкции/Подсказки Редактор контента/WYSIWYG-редактор Свойства Уведомления Формы Шаблоны контента

Zion WebEngine X6.08.25
  • Доработан класс управления проектом
  • Доработан драйвер оболочки
  • Доработаны все обработчики для работы с Деревом статей, Менеджером баннеров, Рассыльщиком писем, FCKeditor, Онлайн-консультантом, KCAPTCHA, Обратной связью, Лентой новостей, Опросами, Visa Qiwi Wallet, SEO Booster, Ядром и Каталогом товаров
  • Доработаны многие обработчики для работы с Доской объявлений и Robokassa
  • Доработана система мониторинга для Ядра, Доски объявлений, Каталога товаров, SEO Booster, Дерева статей, Доски объявлений, Ленты новостей, Обратной связи, Lightbox, KCAPTCHA, FCKeditor и CKeditor
  • Доработана форма отправки новых вопросов в техподдержку

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion JivoSite Zion Banners Manager Zion Sender Zion Server Zion Robokassa Zion Qiwi Zion Bulletins Board Zion Polls Lightbox Zion Edition KCAPTCHA Zion Edition Zion Articles Tree Zion News Line CKeditor Zion Edition FCKeditor Zion Edition Robokassa SEO-параметры Баннеры Галереи/Слайды Драйверы Классы Контент/Контентные единицы Мониторинг Объявления Обработчики Обратная связь/Обратный звонок Онлайн-консультант Опросы/голосования Рассылки Редактор контента/WYSIWYG-редактор Сайт-каталог Спам Способы оплаты Формы

Zion WebEngine X6.08.24
  • Создан класс для управления уведомлениями (его внедрение ещё не завершено)
  • Доработаны главный файл интерфейса администратора и плагин меню администратора: налажено отображение уведомлений в новом формате
  • Добавлен новый тип уведомлений. Раньше были типы "опасно", "внимание", "выполнено". Добавился тип "подсказка".
  • Изменён приоритет отображения уведомлений в интерфейсе администратора. Теперь сначала отображаются уведомления с типом "выполнено", далее по порядку - "опасно", "внимание" и "подсказа"
  • Создан отдельный CSS-файл для настройки оформления уведомлений. Пока редактируется только вручную. Пока его содержимое влияет только на уведомления в интерфейсе администратора, но не в гостевом интерфейсе (работаем)
  • Доработана система мониторинга для Интерфейса администратора, Страниц, Обратной связи, MySQLi, SEO Booster, Шаблонов страниц, KCAPTCHA, Каталога товаров, CKeditor, FCKeditor, Ленты новостей, Дерева статей, Доски объявлений, Менеджера баннеров, Robokassa
  • Повышена скорость работы системы мониторинга для Меню и Страниц

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion Banners Manager Zion Robokassa Zion Bulletins Board KCAPTCHA Zion Edition Zion Articles Tree Zion News Line CKeditor Zion Edition FCKeditor Zion Edition Robokassa SEO-параметры Административный интерфейс База данных/Таблицы данных Баннеры Классы Контент/Контентные единицы Меню/Списки/Навигация Меню администратора Мониторинг Объявления Обратная связь/Обратный звонок Плагины Редактор контента/WYSIWYG-редактор Сайт-каталог Спам Способы оплаты Уведомления Шаблоны контента

Zion WebEngine X6.08.23
  • Из дистрибутива Ядра удалены некоторые более ненужные файлы: их функционал полностью включён в класс управления проектом
  • Внесены доработки в драйвер оболочки: для поддержки ООП изменён принцип работы с элементами администрирования
  • Оптимизированы некоторые методы в классе управления проектом
  • Изменено меню администрирования для Ядра: теперь одновременно поддерживаются новые (объектно-ориентированные) и старые элементы администрирования
  • Доработан плагин, отвечающий за отображение меню администратора
  • Доработана графическая составляющая меню администратора для Ядра
  • На стартовой странице интерфейса администратора теперь отображается информация о последних изменениях в Zion WebEngine

Zion WebEngine Драйверы Классы Меню администратора Плагины Элементы

Zion WebEngine X6.08.18
  • Доработано обновление количества товаров в корзине: при указнии нулевого значения товар корректно удаляется из корзины (спасибо Якудза)
  • Главный файл гостевого интерфейса доработан для совместимости с различными фреймворками

Zion WebEngine Zion Catalog Гостевой интерфейс Интернет-магазин Корзина для заказов

Zion WebEngine X6.08.17
  • В главных файлах гостевого и административного интерфейсов устранены некоторые архаизмы, которые могут препятствовать внедрению новых функций
  • В драйвере оболочки подкорректирован принцип использования обработчиков и системы мониторинга
  • Внесены коррективы в множество обработчиков Ядра, Дерева статей, Менеджера баннеров, Доски объявлений, Каталога товаров, Обратной связи, Рассылщика почты, FCKeditor, Поиска, Онлайн-консультанта, KCAPTCHA, Ленты новостей, Опросов, Qiwi и Robokassa

Zion WebEngine Zion Catalog Zion Mail Back Zion JivoSite Zion Banners Manager Zion Sender Zion Robokassa Zion Qiwi Zion Bulletins Board Zion Polls KCAPTCHA Zion Edition Zion Articles Tree Zion News Line FCKeditor Zion Edition Qiwi Касса Robokassa Административный интерфейс Баннеры Гостевой интерфейс Драйверы Контент/Контентные единицы Мониторинг Объявления Обработчики Обратная связь/Обратный звонок Онлайн-консультант Опросы/голосования Поиск текста Рассылки Редактор контента/WYSIWYG-редактор Сайт-каталог Спам Способы оплаты

Zion WebEngine X6.08.15
  • Доработан класс управления проектом: была выявлена и устранена задержка обновления параметров проекта после их изменения (спасибо ОсаВашДом.РФ)

Zion WebEngine Классы

Zion WebEngine X6.08.04
  • В мастер вставки плагина меню категорий статей добавлена подсказка для формирования команды отображения списка категорий для указанной статьи (спасибо Стандарт)
  • Значительно ускорена загрузка редактора всех списков записей за счёт переработки формы добавления записей: выбор места для добавления новой записи, а также выбор оригинала для клонирования теперь по умолчанию не загружаются; это делается только в случае необходимости - в один клик
  • Исправлена информация об авторских правах для доработанных компонентов

Zion WebEngine Zion Articles Tree База данных/Таблицы данных Категории Контент/Контентные единицы Меню/Списки/Навигация Плагины Помощники/Мастеры/Инструкции/Подсказки Формы

Zion WebEngine X6.07.31
  • Оптимизирован объём статистических данных об установленных версиях компонентов CMS
  • Доработано отображение статистических данных с сайтов с кириллическими доменам

Zion Server Кодировки/Наборы символов

Zion WebEngine X6.07.30
  • Выбор категорий для новостей стал удобнее: теперь для выбора нескольких категорий не нужно использовать клавиатуру - достаточно отметить нужные галочки или снять ненужные.

Zion News Line Категории Контент/Контентные единицы

Zion WebEngine X6.07.28
  • Создана возможность указывать для товаров сразу несколько категорий. Это будет полезно для товаров, имеющих несколько функций, или, например, в случае, если товар нужно сохранить в своей "логической" категории и при этом поместить его с товарами, на которые распространяется та или иная акция.
  • В плагине каталога товаров внесены некоторые коррективы по части использования свойств категорий товаров.
  • Оптимизирована логика вычисления некоторых параметров в плагине дерева статей
  • В плагине каталога товаров добавлена возможность использовать свойства открытой в данный момент категории товаров
  • Расширен список доступных тернарных операторов для плагина меню категорий товаров
  • Внесены некоторые доработки в форму редактирования меню
  • Дополнены комментарии для параметров запуска плагина меню статей
  • Для открытого товара стало доступно отображение списка похожих товаров: плагин меню товаров теперь анализирует списки категорий у различных товаров и сортирует результаты, основываясь на степени схожести или несхожесть списков категорий этих товаров.
  • Доработан выбор редакторов контента
  • Теперь для товаров можно использовать неограниченное количество полей контента

Zion WebEngine Zion Catalog Zion Articles Tree Категории Контент/Контентные единицы Меню/Списки/Навигация Плагины Помощники/Мастеры/Инструкции/Подсказки Редактор контента/WYSIWYG-редактор Сайт-каталог Свойства Условия Формы

Zion WebEngine X6.07.23
  • Сделано несколько доработок в email-рассылщике (спасибо GL Technology)

Zion Sender Рассылки

Zion WebEngine X6.07.21
  • Плагины меню страниц, меню статей, меню новостей, меню товаров, меню объявлений доработаны: в них добавлены параметры, позволяющие отображать связанные страницы, статьи, новости, товары и объявления
  • Мастеры вставки плагина меню страниц, плагина меню статей и плагина меню статей доработаны для использования нового функционала

Zion WebEngine Zion Catalog Zion Bulletins Board Zion Articles Tree Zion News Line Контент/Контентные единицы Меню/Списки/Навигация Объявления Плагины Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Связи