Title в битриксе: Поиск по заголовкам

Установка и настройка дополнения для битрикс Умный поиск с исправлением ошибок в запросе и подсказками

Установка решения


Установка данного решения включает в себя размещение и настройку компонентов, поэтому без базовых навыки работы с кодом не обойтись. Процесс установки решения не сложен и занимает в среднем около часа. При необходимости помогу с установкой и отвечу на вопросы — пишите на почту [email protected]

Важная базовая информация:

  1. Перед установкой пройдите «Проверку системы» на сайте стандартным инструментом битрикса (Админка->Настройки->Инструменты->Проверка системы). Если там есть ошибки — исправьте их. Особенно критичны константы UFT и работа со строками — если в этих пунктах есть ошибки, решение будет работает некорректно.

  2. Решение включает в себя 2 компонента: Умный поиск по заголовкам (search.title) — интерактивный поиск и Умная страница поиска (search. page) — поисковая страница


  3. Решение имеет набор общих настроек. Для изменения настроек нажмите «Настройки» в верхней части админ-панели и в списке модулей выберите «Умный поиск с исправлением ошибок и подсказками»


  4. После установки и настройки решения не забывайте переиндексировать модуль поиска

Ситуация 1. У вас на сайте не установлены компоненты поиска


В этой ситуации нам нужно с нуля настроить компоненты и разместить их в шаблоне либо на определенных страницах


1. Создайте тестовую страничку для первичного размещения и настройки компонента. Измените страничку в Визуальном редакторе


2. Разместите на данной странице компонент «Умный поиск по заголовкам» (search.title)


3. В настройках компонента (двойной клик по размещенному компоненту в визуальном редакторе) сделайте следующие настройки:


  • «Количество категорий поиска» — укажите 1. Указание большего количества категорий не рекомендуется, т.к. крайне негативно влияет на скорость работы поиска


  • Обязательно заполните «Ограничение области поиска». В этой настройке выберите только важные данные по которым нужно искать (например каталог товаров). Пример настройки для поиска по каталогу:


  • Если решение устанавливается на редакцию малый бизнес или старше, в настройках будет возможность указать цену которую нужно вывести и конвертацию в валюту


  • Остальные настройки такие как сортировка, количество результатов заполните исходя из ваших задач


  • После завершения настроек сохраните настройки и страницу


4. После завершения настройки и проверки интерактивного поиска откройте страничку в режиме html-кода, скопируйте код уже настроенного компонента и разместите его в шаблоне сайта, шапке или других запланированных местах


5. После размещения интерактивного поиска в шаблоне сайта, удалите его с тестовой страницы. Разместите на странице компонент «Умная страница поиска» (search.page) и настройте (настройки страницы схожи с настройками интерактивного поиска).


6. Скопируйте код настроенного компонента поисковой страницы и разместите на нужной странице.

Если редакция с каталогом и требуется настроить вывод результатов поиска на странице в виде карточек, компонент поисковой страницы нужно установить в компонент catalog.search, заменив в нём стандартный компонент bitrix:search.page, на тот что вы настроили ранее.

Ситуация 2. У вас на сайте установлены стандартные компоненты bitrix:search.page, bitrix:search.title (90% случаев)


В данной ситуации нам необходимо найти вызовы стандартны компонентов и заменить их на вызовы компонентов, установленных модулем


1. Первым делом найдем вызов компонента интерактивного поиска, чаще всего он расположен в шаблоне сайта (header. php, footer.php) либо во включаемых областях, расположенных в шаблоне сайта. Вызов компонента выглядит следующим образом:


2. Замените подчеркнутые надписи на «arturgolubev» (пространство имён) и «.default» (шаблон)




3. Сохраните и проверьте работу. Настраивать в данном случае не обязательно, т.к. при подобной замене сделанные ранее настройки стандартного компонента перекочевали на компонент модуля.


4. Откройте вашу поисковую страницу. Изучите что расположено на данной странице.

  • Если на странице расположен компонент bitrix:search.page, то замените его вызов по схеме ниже
  • Если расположен компонент bitrix:catalog.search, то необходимо в шаблоне данного компонента (template.php) найти вызов компонента bitrix:search.page и заменить по схеме ниже
  • Если на странице расположен комплексный компонент bitrix:catalog, то необходимо в шаблоне компонента вызываемый компонент bitrix:catalog. search, далее в его шаблоне найти bitrix:search.page и заменить по схеме ниже


После того как мы нашли компонент Cтраницы поиска bitrix:search.page нужно как и в ситуации с интерактивным поиском заменить вызов:


на


5. Если необходимо сохранить дизайн, который использовался до установки решения

    Готово : )

    seo шаблоны для мета тегов в Битрикс

    • на developer
    • 27.12.2020
    • 3 комментария

    Многие веб мастера активно используют вкладку SEO при редактировании элементов и разделов инфоблока, так как это довольное удобно. Этот функционал появился с версии 14.0.0 БУС. Можно задать description, title, keywords для элементов и разделов, для детальных и анонсовых картинок alt, title шаблон имени файла.

    Пройдемся по всем возможностям:
    1. В шаблоне можно использовать обычный текст.
    2. Использовать специальные конструкции в фигурных скобках, внутри нужно сначала писать знак равно, пример {=this. Name}. Есть зарезервированные слова:
    this — текущий элемент. Пример: {=this.Code} — символьный код элемента.
    parent — родительская секция. Пример: {=parent.PreviewText} — анонсовый текст родительского раздела
    sections — родительские секции начиная с верхнего уровня. Пример: {=this.sections.name} — Названия родительских разделов.
    iblock — инфоблок текущего элемента или раздела. Пример: {=iblock.PreviewText} — описание инфоблока
    property — свойство. Пример: у меня есть свойство инфоблока Наценка — 'EXTRA_PAY' {=this.property.EXTRA_PAY}.
    Чтобы получить значение пользовательского свойства раздела 'UF_COLOR' {=this.parent.property.color}
    Данные торгового каталога(в редакции выше, чем ‘Малый бизнес’):
    this.catalog.sku.property.COLOR — свойство торгового предложения ‘Цвет’. Пример: {=distinct this. catalog.sku.property.COLOR}.
    this.catalog.sku.price.BASE — цены торговых предложений типа ‘BASE’. Пример: {=min this.catalog.sku.price.BASE}.
    this.catalog.weight — вес товара. Пример: {=this.catalog.weight}.
    this.catalog.measure — единица измерения товара. Пример: {=this.catalog.measure}.
    catalog.store — склады. Пример: {=concat catalog.store ", "}.
    3. Функции:
    lower — приведет значение к нижнему регистру. Пример: {=lower this.Name}
    upper — приведет значение к верхнему регистру. Пример: {=upper this.Name}
    limit — ограничить элементы по разделителю. Пример: {=limit {=this.PreviewText} "." 2} оставить текст до второй точки, начиная с начала.
    concat — задаётся разделитель и несколько строк объединяются через разделитель. Пример: {=concat this.sections. name " / "} — все названия родительских разделов будут соединены с помощью слэша. На выходе ‘Одежда/Обувь/кеды’.
    min — находит минимальный элемент. Пример: {=min this.catalog.sku.price.BASE}.
    max — находит максимальный элемент. Пример: {=max this.catalog.sku.price.BASE}.
    distinct — оставит только значения без повторения(уникальные).
    translit — транслитерация значения. Пример: {=translit this.Name}

    Обучение поисковой оптимизацие. SEO курсы в Харькове.

    Категории: Настройка, Поисковая оптимизация

    Рекомендуем к прочтению

    @2bad/bitrix — нпм


    • 🔥 Никакого бреда
    • ✨ Выразительный API
    • 💪 Строго типизированные методы и результаты запросов с TypeScript
    • 🚀 Управляет группировкой записей и ограничением скорости
    • ❤️ На основе обещаний

    Установить

     npm установить @2bad/bitrix
     

    Usage

    Инициируйте клиент с конечной точкой Bitrix API и токеном доступа и используйте клиент, чтобы облегчить вашу боль Bitrix:

     импортировать Битрикс из '@2bad/bitrix'
    const bitrix = Bitrix('https://ИМЯ_ПОРТАЛА. bitrix24.ru/rest', 'ACCESS_TOKEN')
    // Получить сделку
    bitrix.deals.get('77')
      .then(({результат}) => {
        // Получаем типизированную полезную нагрузку
        const { НАЗВАНИЕ } = результат // строка
        console.log(НАЗВАНИЕ)
      })
      .catch(консоль.ошибка)
    // Получить все сделки
    bitrix.deals.list({ выберите: ["*", "UF_*"] })
      .then(({результат}) => {
        const titles = result.map((e) => e.TITLE)
        console.log(заголовки)
      })
      .catch(консоль.ошибка) 

    Аутентификация

    Прежде чем вы сможете использовать REST API Битрикс, вам необходимо пройти аутентификацию.

    Это можно сделать двумя способами:

    1. Более сложный, но правильный способ — создать приложение Битрикс и авторизоваться по OAuth.

      Аутентификация с помощью OAuth требует некоторых дополнительных шагов, и вам решать, как справиться с этим с помощью лямбда-функции, какого-либо сервера или почтальона.

      Это даст токен доступа. Используйте его для инициализации клиента:

       const bitrix=Битрикс('https://ИМЯ_ПОРТАЛА. bitrix24.ru/rest', 'ACCESS_TOKEN') 

      Обратите внимание, что токен доступа живет всего 30 минут и должен периодически обновляться с помощью токена обновления OAuth, который, в свою очередь, живет 1 месяц.

    2. Более простой способ — создать входящий вебхук Битрикс с необходимыми разрешениями.

      Он мгновенно предоставит вам конечную точку с токеном внутри нее. Для его использования не требуется дополнительная аутентификация или токены доступа:

       const bitrix=Битрикс('https://ИМЯ_ПОРТАЛА.bitrix24.ru/rest/1/WEBHOOK_TOKEN') 

      Эта конечная точка существует неопределенно долго. Радуйтесь и надейтесь, что это не обернется для вас неприятными последствиями.

    API

    • Общий
      • вызов()
      • список()
      • партия()
    • CRM
      • Компания
      • Контакт
      • Валюта
      • Сделка
      • Свинец
      • Статус
    • Пользователь

    Как это работает

    Клиент изо всех сил старается обеспечить последовательное, строго типизированное и в то же время легкое взаимодействие.

    Он заботится о любой необходимой пакетной обработке для запуска «больших» команд, таких как получение всех сделок или потенциальных клиентов с наименьшим возможным сетевым запросом. Это позволяет достичь чтения 250 000 и обновления 5000 записей в минуту с помощью одной строки кода.

    Все клиентские методы автоматически ограничиваются по скорости и помещаются в очередь, если это необходимо, чтобы справиться с ограничением Bitrix REST API на 2 запроса в секунду, поэтому вы никогда не должны видеть ошибки Битрикс о превышении ограничений скорости.

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

    Для улучшения архитектуры клиент разделен на уровни:

    1. Методы — в основном универсальные методы, такие как , вызывают для работы с методами Bitrix API. Они заботятся о рутине и обеспечивают основу для более сложных операций.
    2. Клиент — универсальный клиент, который выполняет некоторые дополнительные рутинные задачи, такие как установка токена доступа для каждого запроса, настройка очереди для ограничения скорости и предоставление универсальных методов.
    3. Сервисы — каждый сервис предоставляет выразительный интерфейс для работы с определенной группой операций REST API Битрикс. По сути, они управляют универсальными клиентскими методами и параметрами для получения надлежащих результатов.
    4. Битрикс-клиент — поставщик универсального метода и сервисов верхнего уровня. Простой способ работы с REST API Bitrix с помощью интуитивно понятного API, который берет на себя всю базовую сложность.

    Часто задаваемые вопросы

    Закончено?

    Ядро готово и стабильно. С его помощью можно произвольно вызывать любые методы REST API Битрикс.

    Однако еще не все методы REST API Битрикс представлены как удобные клиентские сервисы (например, bitrix. deals.list() ).

    Если вам нужна конкретная служба, добавьте ее, сделав запрос на слияние, следуя структуре уже существующих служб и инструкциям «Добавление новых методов».

    Я не являюсь пользователем расы мастеров типизированного языка. Могу ли я использовать его с обычным JavaScript?

    Конечно. Просто установите и импортируйте его как любой другой модуль NPM. Но The Type Police уже в пути для вас.

    Обратите внимание, что эта библиотека не была разработана с учетом обычного JavaScript, поэтому она не выполняет ненужных динамических проверок. Не будьте слишком настойчивы в передаче неправильных параметров — это может привести к неожиданным результатам. В конце концов, TypeScript — рекомендуемый способ его использования.

    Должен ли я проверять свойства полезной нагрузки ошибка на наличие ошибок?

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

    Метод списка не возвращает пользовательские поля!

    Bitrix API по умолчанию этого не делает. Используйте подстановочные знаки в параметре select для принудительного включения пользовательских полей:

     bitrix.deals.list({ select: ['*', 'UF_*'] }) 

    Пользовательские поля введены неправильно

    Клиент не может знать о нестандартных свойствах полезных данных. Из-за этого предполагается, что любая полезная нагрузка может иметь любые дополнительные поля типа 9.0071 [ключ: строка]: строка :

     bitrix.leads.get({ ID: '77' })
      .then(({результат}) => {
        // известное свойство типа `string`
        постоянный заголовок = результат. НАЗВАНИЕ
        // неизвестное свойство типа `string`
        const некоторые данные = результат.UF_23232323
        console.log(название, некоторые данные)
      }) 

    Мне нужно вызвать метод Битрикс, который еще не поддерживается

    Используйте соответствующие низкоуровневые клиентские методы с приведением типов, например:

     bitrix. call('some.new.get' как любой, { ID: '77' } как любой)
      .then((полезная нагрузка) => полезная нагрузка как GetPayload)
    bitrix.list('some.new.list' как любой, { select: ["TITLE"] })
      .then((полезная нагрузка) => полезная нагрузка как ListPayload) 

    Мне нужно вызвать определенный набор команд. Как это сделать эффективно?

    Используйте метод партии . Он будет обрабатывать всю рутину:

     bitrix.batch({
      ведущий: { метод: Method.GET_LEAD, параметры: {ID: '77' } },
      сделки: { метод: Method.LIST_DEALS, параметры: {} }
    }) 

    Развитие

    • npm test — запустить все тесты и собрать полный отчет о покрытии
    • npm run test:unit — запустить модульные тесты и собрать отчет о покрытии
    • npm run test:integration — запустить интеграционные тесты и собрать отчет о покрытии
    • npm run test:watch — следить за изменениями и запускать все тесты
    • npm run test:unit:watch — отслеживать изменения и запускать модульные тесты
    • npm run test:integration:watch — отслеживать изменения и запускать интеграционные тесты
    • npm run build — собрать библиотеку для релиза
    Добавление новых методов

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

    1. Добавьте новый метод в перечисление Method .
    2. Добавьте его в массив LISTABLE_METHODS , если он выводится в виде списка (с разбивкой на страницы). Не все, что в списке, можно перечислить, поэтому проверьте это.
    3. Добавить или обновить связанную службу:
      1. Поместить открытые методы службы в файл index.ts . Убедитесь, что вы правильно сопоставляете аргументы метода службы с параметрами call или list .
      2. Добавить связанные сущности в файл entity.ts .
      3. Добавить интерфейс, описывающий сервисные методы, в method.ts . Протестируйте и проверьте тип полезной нагрузки метода, чтобы убедиться, что вы правильно его описали!
      4. Расширьте интерфейс методов с добавленным интерфейсом для конкретной службы. Таким образом, клиент будет знать, как разрешать параметры и типы полезной нагрузки для добавленного метода.

        This entry was posted in Популярное