- 3
-
1
-
Ответов на вопросы за месяц: 1
-
Плагин Menu
22.11.2024
-
Как наладить поиск по сайту?
Эта инструкция предназначена для специалистов, знакомых с HTML, CSS и JS, как минимум
Как наладить поиск по сайту?
Компоненты, необходимые для организации текстовго поиска по сайту доступны в базовом комплекте поставке, но не на каждом сайте они настроены. То, что описано ниже, можно использовать именно в том виде, как описано, но желательно, результат оформить в стиле Вашего сайта.
Важно понимать, что введёная поискова строка будет искаться именно в том виде, в котором она будет введена. Морфология не учитывается. Порядок слов также не будет изменён. Чтобы обойти эти ограничения, можете фразы с другим порядком слов и в других падежах, временах, спряжениях и т.п. указывать в каких-либо скрытых полях, которые не будут видны на сайте. И указать эти поля как те, по которым также должен вестись поиск. Это будет описано ниже...
Создание формы поиска
Форму поиска (обычный HTML-код) можно написать прямо в шаблонах в элементе HTML-код веб-страницы, но это не самый продуманный вариант, если, вдруг, Вам понадобится быстро изменить один и тот же код сразу в нескольких шаблонах. Лучше создать одно редактируемое поле, в котором будет HTML-код формы. И уже это поле можно вставить во всех (нужных) шаблонах. Так в случае изменения кода в форме, он автоматически изменится во всех (нужных) шаблонах.
- Перейдите в раздел
Контент \ Редактируемые поля
(можно в другой подраздел раздела Контент) - Нажмите
Добавить новую запись
- Укажите любое название, например,
Форма поиска
- Укажите любой ID, например,
search-form
(дальше будет ориентироваться именно на такой ID) - Выберите шаблон
Многострочное поле без редактора
и нажмитеДобавить
. Если такого шаблона нет (был удалён), то ознакомьтесь с тем, как создать шаблон и вставить в него элементМногострочное поле без редактора
. - Вставьте в поле
Содержимое поля без редактора
(название может быть другое), код указанный ниже, скорректируйте его под свои нужды и сохраните изменения.
Пример кода:
<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
- здесь должен быть указан адрес страницы, на которой будут располагаться результаты поиска. В нашем случае это страница с IDsearch
. Далее будем ориентироваться именно на него, хотя ограничений на ID страницы с результатами поиска нет.
Поле, в котором будет вводиться поисковый запрос, обязательно должно иметь значение search
в свойстве name
. Изменить можно следующее:
type
- может быть любым, подходящим в Вашем случае, например,number
. Но в большинстве случаев лучше оставитьtext
илиsearch
.value
- можно оставить пустым или написать любой другой текст, который сразу же будет отображаться в поле для ввода поискового запроса. Чтобы автоматически отобразить здесь только что введённый поисковый запрос, напишите{plugin:current_SearchText}
Других ограничений или обязательных требований нет. Для отправки формы можете использовать, как <input type="submit">
, <input type="image">
, <button type="submit"></button>
, так и любой другой, допустимый в HTML, вариант.
Естественнно, код формы нужно оформить в стиле Вашего сайта, если он сильно выделяется на фоне других элементов интерфейса
Код формы поиска, например, имеющей вид {plugin:content;id:search-form;value:multistringfield_1_value}
, будет виден ниже поля Содержимое поля без редактора
(название может быть другое). Скопируйте его и вставьте в элемент HTML-код веб-страницы
во всех нужных шаблонах. Если код формы не виден, то на панели инструментов нажмите кнопку Подсказки и помощники по вставке плагинов и свойств: показать
.
Создание списка результатов поиска
Список результатов поиска отображается также, как любой другой список или любое меню - с помощью плагина универсального меню.
- Перейдите в раздел
Справочники \ Оформление меню
нажмитеДобавить новую запись
- Нажмите
Добавить новую запись
- Укажите любое название, например,
Результаты поиска
- Укажите любой 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
: даст возможность организовать один из вариантов сортировки
Zion WebEngine Что такое Комплект поставки? Что такое Панель инструментов? Веб-браузер Веб-сервер/Хостинг Основной текст Пагинация/Подстраницы Поиск текста Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Формы Что такое Плагины? Как редактировать Контент? Что такое Тип контента? Что такое Шаблон контента? Что такое Элементы? Элемент "HTML-код веб-страницы" Элемент "Адрес" Элемент "Место в структуре" Плагин Menu
Эта инструкция предназначена для специалистов, знакомых с HTML, CSS и JS, как минимум
CMS Zion WebEngine является бесплатной системой. Развивается за счёт рекламы, помощи веб-студии #webZion и других спонсоров.
Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...
Заранее, большое, спасибо
|
Блог обновлений
Zion WebEngine X9.07.22
- Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Якудза):
- Файлы из старой версии теперь не удаляются после обработки:
- Это упрощает сравнение старой и новой версий сайта
- Ускорена загрузка некоторых опций из старой версии сайта
- Реализовано отображение некоторых ошибок, мешающих миграции
- Миграция теперь не останавливается по таймауту:
- Это упрощает миграцию очень сложных сайтов
- Файлы из старой версии теперь не удаляются после обработки:
Zion WebEngine Что такое CMS Zion WebEngine? Классы Миграция Файлы/Папки
Zion WebEngine X9.07.16
- Продолжена переделка принципа действия форм обратной связи и заказа обратного звонка:
- Доработан вспомогательный класс для управления вкладками
- Доработан класс для управления формами обратной связи:
- Реализована возможность редактировать HTML-код форм
- Разработка пока не завершена
Zion WebEngine Zion Mail Back Вкладки Классы Обратная связь/Обратный звонок Формы
Zion WebEngine X9.07.15
- Начата переделка принципа действия форм обратной связи и заказа обратного звонка:
- Доработано меню администратора
- Создан класс для управления формами обратной связи:
- Он пока находится в разработке и недоступен для использования
- Доработаны некоторые CSS-файлы и класс для управления проектом
Zion WebEngine Zion Mail Back Классы Меню администратора Обратная связь/Обратный звонок Формы
Zion WebEngine X9.07.04
- Доработан класс для управления онлайн-консультантом:
- Оптимизированы условия при которых онлайн-консультант НЕ должен запускаться
Zion WebEngine X9.06.26
- Доработан класс для управления онлайн-консультантом (спасибо Advisor Espana):
- Внедрён новый упрощённый скрипт для вызова онлайн-консультанта
Zion WebEngine X9.06.22
- Значительно расширен функционал класса для управления куками (спасибо Белый и пушистый):
- Теперь товары в Корзине для заказов могут храниться до 30 дней:
- Для этих же целей доработаны классы для управления корзиной, заказами и скидкой при заказе на указанную сумму
- Теперь товары в Корзине для заказов могут храниться до 30 дней:
- Доработан класс для управления пользователями:
- Некоторые данные, необходимые для пополнения баланса пользователя теперь из массива для сессий перенесены в массив для куков
- Доработан класс для получения информации о стоимости и сроке доставки через СДЭК:
- Учтены требования некоторого нового функционала других компонентов
- Доработан класс для уведомления о заказах путём экспорта в 1C/XML:
- Учтены требования некоторого нового функционала других компонентов
Zion WebEngine Zion Catalog Zion xDelivery Zion Export XML/RSS/1С/YML Баланс пользователя/Абонентская плата Доступы/Пользователи Импорт/Экспорт Интернет-магазин Классы Корзина для заказов Куки Реакции на заказ СДЭК Скидки/Наценки Способы доставки/самовывоза
Zion WebEngine X9.06.18
- Доработано меню администратора (спасибо Белый и пушистый):
- Раздел
Опции \ SMS-шлюз
теперь также доступен при наличии в комплекте поставки пакета Zion User Control
- Раздел
- Доработан класс для управления SMS-уведомлениями:
- Настройка уведомлений о заказе обратного звонка и о заполнении формы обратной связи теперь доступна только при наличии в комплекте поставки Zion Mail Back
- При настройке парамтеров SMS-шлюза доступна подсказка о том, где настраиваются способы уведомления о заказах в Интернет-магазине (доступно только при наличии Zion Catalog)
- Внедрена возможность отправки паролей новым зарегистрированным пользователям не по e-mail, а по SMS:
- Доступны новые опции при настройке параметров SMS-шлюза
- Доработан класс для управления контентом:
- Расширен список форм для пользователей по умолчанию:
- Если включена опция
Отправлять пароли (при регистрации) для новых пользователей не по E-mail, а по SMS
, то при регистрации будет использована форма, в которой помимо e-mail нужно будет указать и телефон
- Если включена опция
- Расширен список форм для пользователей по умолчанию:
- Доработан класс для управления пользователями:
- Улучшена обработка некоторых POST-данных
- Если включена опция
Отправлять пароли (при регистрации) для новых пользователей не по E-mail, а по SMS
, то- Регистрация будет невозможна без указания номера телефона
- При указании номера телефона он сохраняется, как контактный для пользователя
- Пароль отправляется не на e-mail, а по SMS:
- В этом случае пароли значительно проще, чем те, которые отправляются на e-mail (если отключена соответствующая опция)
- Текст уведомления-подсказки об успешной регистрации также в этом случае другой
- Реализована возможность указывать и сохранить при регистрации различные дополнительные данные пользователя
- Доработан класс для управления доступами для групп пользователей:
- Доступно включение/отключение отправки сообщений на e-mail для системных уведомлений о регистрации новых пользователей в ту группу, для которой включена эта опция
- Доработан главный файл гостевого интерфейса (спасибо Pemco):
- Устранены недочёты в совместимости с онлайн-консультантом
Zion WebEngine Zion User Control Zion Catalog Zion Mail Back Что такое Комплект поставки? Email-сообщения POST/GET-данные SMS Гостевой интерфейс Доступ Групп пользователей Доступы/Пользователи Интернет-магазин Классы Контент/Контентные единицы Меню администратора Обратная связь/Обратный звонок Онлайн-консультант Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Уведомления Формы Формы для пользователей
Zion WebEngine X9.06.14
- Доработан класс для импорта данных из Excel/CSV (спасибо МТС Пермь):
- Теперь старые данные с параметрами, аналогичными для новых данных без ID удаляются при импорте только, если отмечена соответсвующая опция
- Если новые данные не имеют своего ID, то при попытке проверки на то, нужно добавить данные или обновить, используется не ID (точно уникальный), а название (возможно, уникальное)
- Теперь для всех импортируемых записей можно создавать связи сразу с несколькими уже имеющимися записями (их можно выбрать прямо вовремя указания опций для импорта)
- Доработан класс для управления базой данных:
- Немного расширен функционал
- Доработан класс для управления связями:
- Создание связей организовано более продумано
Zion WebEngine Zion Import CSV/Excel База данных/Таблицы данных Импорт/Экспорт Классы Связи
Zion WebEngine X9.06.11
- Доработан элемент Адрес (URL) (спасибо Портал поддержки):
- Некоторые элементы интерфейса переименованы для готовящейся в данный момент инструкции
- Доработаны драйвер оболочки и классы для управления контентом, пользователями, заказами и чатом:
- Значительно повышена производительность при обработке свойств различных объектов и команд вызова плагинов
- Улучшена обработка исключений, при которых не нужно обрабатывать свойства и выполнять команды вызова плагинов
Zion WebEngine Zion Catalog Zion Chat Что такое Административный интерфейс и Гостевой интерфейс? Адрес (URL)/ЧПУ/Переадресация Доступы/Пользователи Драйверы Классы Контент/Контентные единицы Корзина для заказов Обмен сообщениями/Чат Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства Элементы Элемент "Адрес"
Zion WebEngine X9.06.10
- Доработан вспомогательный класс для управления изображениями (спасибо Белый и пушистый):
- Окончательно устранены недочёты при обновлении эскизов
Zion WebEngine X9.06.07
- Доработаны классы для управления контентом и изображениями, а также плагин для отображения галерей (спасибо Белый и пушистый):
- Устранены недочёты при создании эскизов:
- Если при импорте данных из 1С/XML загружались новые изображения, то эскизы не обновлялись
- Устранены недочёты при создании эскизов:
Zion WebEngine Zion Gallery XML/RSS/1С/YML Галереи/Слайды Изображение Импорт/Экспорт Классы Контент/Контентные единицы Плагины Эскизы
Zion WebEngine X9.06.04
- Оптимизирован пакет Zion Mail Back:
- Удалены компоненты, которые были нужны только для старой платформы
- Доработана отправка email-сообщений указанному контакту
- Доработано удаление email-контактов
Zion Mail Back Email-сообщения Обратная связь/Обратный звонок Платформа
Zion WebEngine X9.06.03
- Доработан класс для управления местом в структуре (спасибо Уральский Металл):
- Устранены недочёты при формировании некоторых древовидных списков
- Доработана система мониторинга для соответствия ФЗ-152:
- Внедрены дополнительные проверки для Пользовательского соглашения
- Сделано несколько доработок в Zion Mail Back:
- Удалены некоторые устаревшие компоненты
- В форме и обработчике обратной связи удалена поддержка редакторов контента
- Начат перевод использования email-контактов в форме обратной связи на новую платформу:
- Значительно расширен функционал класса для работы с email-сообщениями
- Email-контакты теперь хранятся в базе данных нового формата:
- Редактировать их можно в разделе
Справочники \ Контакты для обратной связи
- Редактировать их можно в разделе
- Упразднён общий монитор для обратной связи
- Доработаны меню администратора для ядра, а также форма и обработчик выбора редакторов:
- Выбор редакторов теперь недоступен для формы обратной связи
- Доработаны мастеры для вставки плагинов из ядра старой платформы:
- Мастеры для пока актуальных плагинов теперь оформлены в новом дизайне административного интерфейса
- Мастеры для устаревших плагинов удалены
- Доработан редактор опций корзины (для резервных копий и временных файлов):
- Применён новый дизайн административного интерфейса
- Обновлена информация об авторских правах для некоторых компонентов
- Доработан класс для управления базой данных:
- Учтены исключения при сохранении данных в таблицу email-контактов
- Доработан монитор работоспособности SMTP:
- Указаны новые адреса в уведомлениях об ошибках
Zion WebEngine Zion Mail Back Email-сообщения SMTP/PHP-mail Административный интерфейс База данных/Таблицы данных Классы Корзина для мусора Меню/Списки/Навигация Меню администратора Место в структуре Мониторинг Обработчики Обратная связь/Обратный звонок Плагины Платформа Пользовательское соглашение Помощники/Мастеры/Инструкции/Подсказки Редактор контента/WYSIWYG-редактор Уведомления ФЗ-152 Формы
Zion WebEngine X9.06.01
- Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Уральский Металл):
- Расширены возможности конвертации команд вызова свойств и плагинов, а также переноса файлов:
- Учтены особенности использования устаревших плагинов
fckcss
,jivosite
иpageloader
- Вместо них используются более современные альтернативы
- Автоматически удаляются из команд вызовов плагинов некоторые устаревшие параметры
- Учтены особенности использования устаревших плагинов
- Реализована автоматическая конвертация редактируемых полей:
- Ранее их нужно было пересоздавать вручную
- Улучшена автоматическая конвертация страниц и меню
- Оптимизирован набор параметров, необходимых для миграции
- Реализована возможность автоматического создания пользовательского соглашения и настроек для него, если старая версия этого не поддерживала
- Реализована полная совместимость с Zion WebEngine 3.4
- Расширены возможности конвертации команд вызова свойств и плагинов, а также переноса файлов:
Zion WebEngine Zion WebEngine 3.4 Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Онлайн-консультант Плагины Пользовательское соглашение Свойства Файлы/Папки
Zion WebEngine X9.05.31
- Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Уральский Металл):
- При конвертации данных для доступа администратора теперь применяется шифрование
- При конвертации данных о страницах учитывается, есть ли в комплекте поставки Zion SEO Booster
- Начата работа по автоматической конвертации шаблонов:
- До этого их нужно было пересоздавать вручную
Zion WebEngine Zion SEO Booster Что такое CMS Zion WebEngine? Что такое Комплект поставки? Доступы/Пользователи Классы Контент/Контентные единицы Миграция Шаблоны контента
Zion WebEngine X9.05.30
- Доработан класс для управления корзиной (спасибо Белый и пушистый):
- Обязательных полей в форме заказа теперь стало меньше
Zion WebEngine X9.05.29
- Доработан элемент Расписание: (спасибо Школа 118):
- Устранены некоторые недочёты, выявившиеся после "боевых" испытаний
Zion WebEngine X9.05.28
- Доработаны редактор контента и файл-менеджер: (спасибо Гид по Тоскане):
- В комплект поставки добавлены языковые пакеты для итальянского языка
- Доработан элемент Расписание: (спасибо Школа 118):
- В административном интерфейсе доработано отображение "красных" забронированных периодов:
- Доступен просмотр подробностей
- Доступна отмена бронирования
- Устранены некоторые недочёты из предыдущих версий
- Реализовано автоматическое удаление незабронированных уже просроченных периодов
- Реализовано скрытие просроченных периодов в гостевом интерфейсе
- Разработка завершена, но в будущих версиях запланированы расширения функционала и другие улучшения
- В административном интерфейсе доработано отображение "красных" забронированных периодов:
Zion WebEngine Zion Booking Что такое Комплект поставки? Административный интерфейс Бронирование/Расписание Многоязычность/Языки Редактор контента/WYSIWYG-редактор Файл-менеджер Элементы
Zion WebEngine X9.05.27
- Доработан класс для управления проектом: (спасибо ТК Антарес):
- Устранена ошибка в подсказке по использованию SEO-параметров
- Доработан класс для управления email-сообщениями:
- Устранена ошибка в подсказке по использованию SMTP-параметров
- Доработан элемент Расписание: (спасибо Школа 118):
- Реализовано отображение "жёлтых" промежуток, временно закреплённых за тем или иным пользователем:
- Тот пользователь, за которым сделано закрепление, может продолжить бронирование, даже, если временно прервётся
- Время доступное для продолжения бронирования настраивается в административном интерфейсе
- По истечение этого времени промежуток снова станет "зелёным" - доступным для закрепления и бронирования другим пользователям
- Время доступное для продолжения бронирования настраивается в административном интерфейсе
- Другие пользователи не смогут ни закрепить, ни забронировать промежуток, пока он снова не станет "зелёным"
- При бронировании пользователь может указать необходимые данные:
- Подсказка по необходимым данным настраивается в шаблоне
- Эти данные, а также название бронируемого объекта и данные о датах и времени начала и конца бронирования отправляются на email для системных уведомлений
- Тот пользователь, за которым сделано закрепление, может продолжить бронирование, даже, если временно прервётся
- Доступно отображение "красных" промежутков, забронированных за тем или иным пользователем
- Разработка ещё не завершена
- Реализовано отображение "жёлтых" промежуток, временно закреплённых за тем или иным пользователем:
Zion WebEngine Zion Mail Back Zion Booking Email-сообщения SEO-параметры SMTP/PHP-mail Административный интерфейс Бронирование/Расписание Дата/Время/TimeMashine Доступы/Пользователи Классы Помощники/Мастеры/Инструкции/Подсказки Шаблоны контента Элементы
Zion WebEngine X9.05.26
- Доработан элемент Расписание: (спасибо Школа 118):
- Доработано отображение временных промежутков доступных для бронирования в интерфейсе администратора:
- В том числе улучшено отображение промежутков, начало которых в одном дне, а конец - в другом
- Доработано создание временных промежутков доступных для бронирования:
- Теперь, если указанное время уже доступно для бронирования в других промежутках, новый промежуток создаваться не будет
- Реализовано удаление промежутков доступных для бронирования:
- Если промежуток уже забронирован, то удалить его не получится
- Создан плагин для отображения расписания в гостевом интерфейсе:
- Уже доступен просмотр периодов доступных для бронирования
- Разработка ещё не завершена
- Доработано отображение временных промежутков доступных для бронирования в интерфейсе администратора:
Zion Booking Административный интерфейс Бронирование/Расписание Дата/Время/TimeMashine Плагины Элементы
© 2005-2024 Все права защищены | Поддержку осуществляет веб-студия #webZion