Как сделать ссылку в bitrix
Делаем КОРОТКИЙ URL в (1С Битрикс)
Дополнительное видео
Зачем нужны короткие URL ссылки?
Укороченные ссылки являются одним из способов передачи URL адресов, если реальная ссылка длинная то ее можно при этом методе сократить до 10 – 20 символов.
Сама ссылка открывается не напрямую, а через промежуточный ресурс, где располагается база коротких URL адресов.
Само сокращение URL применяется, что бы уложиться в определенный лимит знаков, к примеру, при публикации контента в Twittet или в VK, а также в других сервисах, где установлен данный лимит на ввод символов. Короткие ссылки можно легко запомнить, продиктовать по телефону и не боятся о том что их неправильно наберут, отправить по Email или SMS не переживать что они нарушат форматирование письма. Отследить количество переходов по ним с писем рассылок или с других ресурсов и так далее.
Рассмотрим часть популярных ресурсов для укорачивания URL ссылок:
Принцип работы у них простой, вставляем свой URL жмем кнопку создать, получаем короткую ссылку, которую в дальнейшем используем по своему усмотрении.
Всем нам известно назначение данных сервисов, но мало кто знает, что в 1С Битрикс есть аналогичный функционал, который не хуже, а даже удобнее, а чем удобнее, читайте далее.
Настройка коротких URL в 1С Битрикс
Механизм коротких URL можно настроить двумя способами, через административную часть сайта, для этого перейдем в Настройки продукта, Обработка адресов, Короткие ссылки. Жмем кнопку добавить, в поле ссылка вводим свой URL куда мы будем перенаправлять пользователя. Допустим мы хотим поделится какой то картинкой с яндекся, для этого копируем URL.
Добавляем ссылку в наше поле, а в поле «Короткая ссылка» видим префикс, который автоматически сформировался и добавился к нашему домену. Как видите в начале его стоит символ «Тильда» и она предназначена для того что бы сами не забыли что это является короткая ссылка. Эта тильда не обязательна, и несет только информационный характер.
Мы можем целиком изменить префикс, прописать в нем свое название, к примеру «kart» или даже указать его на кириллице, допустим «картинка», ниже установить 301 или 302 HTML статус для робота. И нажмем кнопку применить.
Копируем нашу ссылку, вставляем в браузер, жмем перейти, и мы попадаем напрямую к нашей картинке.
Второй способ формирования коротких URL ссылок это через панель управления на визуальной части сайта. Перешли на сайт, кликаем «Короткий URL», появляется форма с заполненными полями, где в поле ссылка сформирован URL нашей странички, которую можем изменить, и прописать тот, что нужен нам. Допустим эта главная страничка сайта указать свою короткую ссылку и сохраниться. Далее эту ссылку можно использовать в Email рассылке и отследить количество переходов пользователей по ней.
Я думаю многие из Вас, придумают массу вариантов, где это можно задействовать.
Обязательно поделись в комментариях какими методами пользуешься для составления URL адресов именно ты.
За последнюю неделю заметил на форуме несколько тем, в которых шло бурное обсуждение ЧПУ (человека-понятные ссылки на товары, страницы и т.п.) на отдельных компонентах каталога. Тема всегда оставалась сложной и каждый пытался в ней разобраться, как мог. Отвечать по этой теме сложно, а если подробно, то и неудобно в формате форума, поэтому родилась идея выпустить эту статью.
В 1С-Битрикс есть комплексный компонент управления каталогом bitrix.catalog в котором все достаточно просто, ставится он по умолчанию предварительно настроенный.
При всех его достоинствах в нем есть один недостаток, он поставляется как есть и может подойти не для всех.
А если нужна большая гибкость? Например, требуется сделать разделы, оформив их в своем дизайне или своей структурой представления информации. То начинаются танцы с отдельными компонентами каталога, на которых все это и собирается.
В начале я бы хотел разобрать более старую схему настройки, которая работала до последнего релиза 15.5 (первая часть статьи). А потом показать, что сделано в продукте в последнем 15.5 релизе, чтобы облегчить достаточно сложную настройку ЧПУ (вторая часть статьи).
Создание раздела файл index.php
Страницы созданы, компоненты размещены, приступаем к настройке. Нам понадобится инфоблок, в котором лежит наш прекрасный раздел со своими подразделами, который мы и будем выводить. Поехали.
Настройка главной страницы раздела
Мы помним, что папка для раздела каталога называется у нас: shop-for-confectioner
А путь ЧПУ я хочу, что бы был вида: /shop-for-confectioner/название-подраздела/название-элемента/
Отлично, смотрим результат настройки:
Отобразились подразделы, в разделе над которым мы работаем.
Естественно я не прописываю символьные коды вручную, пусть этим занимаемся платформа 1С-Битрикс. Для этого, при создание инфоблока, я включил соответствующую настройку:
Не буду подробно останавливаться на галочках данной настройки, тут интересна только одна « Использовать внешний сервис перевода », в ней я настраиваю перевод через Яндекс, указав ключ в настройках « Главного модуля ».
Отобразился список товаров из раздела.
Первая страница готова. Не пугайтесь, если она у вас не заработает, так как у меня сразу были настроены другие шаги, которые я пока не упоминал, но обязательно ниже опишу. |
Автоматически формируемый вывод подразделов
Страница раздела достаточно простая, она дает возможность вывести туда дополнительную информацию, баннеры с акциями для этого раздела, SEO тексты и т.п. они будут уникальные для этого раздела, но нам придется делать для каждого раздела свой набор файлов, что не всегда оправданно.
Вот пример уникального раздела, даже со своим дизайном: http://tortik39.ru/shop-for-confectioner/
А можно сделать автоматически формируемые данные для подраздела, гибкости будет меньше, но нужно будет создать набор файлов только один раз. Давайте разберем, как это делается для подразделов.
Настройка страницы отображения подразделов в разделе
Прежде чем выводить заголовок и текст ниже, нам необходимо создать инфоблок, который будет это все хранить и показать как мы это свяжем.
Инфоблок создан. Теперь в нем нужно создать столько записей, сколько у нас будет разделов, для которых мы выведем название и SEO текст внизу страницы подраздела или раздела.
Это все просто и работа скорей для копирайтера, а в нашу задачу войдет прописать правильные символьные коды, которые мы должны взять у подразделов нашего инфоблока каталога.
Идем в наш торговый каталог, в котором уже есть наши разделы с товарами и смотрим их символьные коды:
И на основание этих символьных кодов создаем записи в нашем новом инфоблоке с названиями и SEO текстом внутри, и с такими же символьными кодами. Ниже показаны созданные статьи и заголовки, которые нам пригодятся.
Давайте посмотрим одну такую запись внутри:
Более « правильную » связь можно сделать, связав инфоблоки через свойство. И тогда не нужно будет контролировать одинаковость символьных кодов, но зато потребуется при создание элемента раздела каталога, выбирать что мы связываем с ним, в виде нашего элемента статьи. Оба вариант имеют свои плюсы и минусы, мне понравилось в данном случае более простое решение.
Самое сложное мы сделали, создали элементы в связном каталоге, проконтролировали, что каждый элемент имеет такой же символьный код, как и у раздела.
Приступаем к настройке bitrix:news.detail
Вся настройка сводится к тому, что бы выбрать наш инфоблок, где хранятся статьи, указать в поле « Код новости » следующий код: =
Этим кодом мы будем выбирать новость с таким же символьным кодом, который будет взят с символьного кода раздела.
Ну и напоследок, отключить все лишнее к выводу, фактически нам нужно вывести только заголовок.
Давайте посмотрим, что у нас получилось и как это работает. Я записал небольшой видеоролик для показа динамики.
Получилось то, что нам требовалось.
Теперь нам нужно вывести список товаров из подраздела, нашего раздела, настроить компонент bitrix:catalog.section
Указываем в пункте « Код раздела » выражение = <$_REQUEST[«SECTION_CODE"]>Тем самым выберем символьный код раздела, для которого будем выводить элементы.
Прописываем шаблоны ссылок, для страницы раздела, и элементов раздела. Не забываем о переменной, в которой передается символьный код раздела. Остается настроить нужные данные в компоненте и можно смотреть что получилось.
Компонент отобразил список, и если перемещаться по подразделам, страничка показывает правильное содержимое.
Настройка страницы детальной карточки
Нам нужно настроить страницу, которая будет отображать детальную карточку товара, файл detail.php
В файле страницы у нас три компонента. Останавливаться на компоненте bitrix:catalog.section.list мы не будем, его настройки полностью аналогичны описанным выше.
Второй компонент bitrix:catalog.element как раз и отвечает за отображение детальной карточки товара, давайте его настроим.
Нам нужно получить символьный код раздела и элемента. Делаем мы это, прописывая две строчки для поля « Код элемента » это будет = <$_REQUEST[«ELEMENT_CODE»]>, а для « Кода раздела » это будет = <$_REQUEST[«SECTION_CODE»]>.
Далее прописываем настройки в разделе « Шаблоны ссылок », в разделе уже нам все знакомо.
Смотрим, что у нас получилось:
Открылась детальная карточка, мы все настроили корректно.
Настройка компонента bitrix:catalog.section на вывод популярных товаров
Традиционно нам нужно передать в « Код раздела » символьный код раздела, для которого и будем отбирать нужные нам элементы, прописываем =
Традиционный блок с настройкой « Шаблона ссылок »
Указываем в компоненте настройку отбора по фильтру, показ самых просматриваемых элементов.
И вот в нашей детальной карточке товара, для нашего раздела, показываются самые популярные товары.
Новая адаптивная постраничная навигация
Обратите внимание на новую постраничную навигацию. Самый важный ее плюс в адаптируемости для мобильных устройств, она проходит валидацию на отображение у Гугла. Советую использовать ее во всех компонентах, которые мы разобрали, которые выводят список.
Давайте посмотрим, где это настраивается:
В блоке настроек « Настройка постраничной навигации » необходимо выбрать шаблон с названием « ROUND »
Мы настроили страницы, но ничего не работает
Все верно! В процессе описания я вам показывал, что у меня открываются страницы, все работает, но это не совсем так. Чтобы вся схема заработала, нужно выполнить еще два шага.
В поле « URL страницы раздела » прописываем, как будет строиться ЧПУ для раздела: #SITE_DIR#/shop-for-confectioner/#SECTION_CODE#/
В поле « URL страницы детального просмотра » прописываем, как будет строиться ЧПУ для детальной карточки товара: #SITE_DIR#/shop-for-confectioner/#SECTION_CODE#/#ELEMENT_CODE#/
Ошибки в формирование адресов в инфоблоке, очень часто не приводят к потере работоспособности страниц, и обычно все не обращают на них внимание. Это опасно!
И так идем в раздел « Правила обработки »
Нам нужно создать два правила: одно будет создано для вывода разделов, а второе будет обрабатывать показ детальной карточки товара.
Правило создания ЧПУ для разделов
В правиле нам потребуется прописать всего три строки.
Правило создания ЧПУ для элементов
Аналогично правило будет содержать три строки, но немного сложнее:
Поле « Условие » расширяется добавлением кусочка отвечающего за элемент: #^/shop-for-confectioner/([\w\d\-]+)/([\w\d\-]+)(\\?(.*))?#
Поле « Файл » содержит путь к файлу, который отвечает за показ карточки товара, это наш файл detail.php : /shop-for-confectioner/detail.php
Поле « Правило » содержит две переменные, в которых передаются символьные кода, раздела и элемента: SECTION_CODE=$1&ELEMENT_CODE=$2
Настройки закончены, и если вы все сделали правильно, у вас все должно заработать!
Но мы не закончили с заданием, нам еще необходимо сделать хлебные крошки.
Настройка хлебных крошек
Компонент хлебных крошек у нас лежит в header.php шаблона нашего сайта. Настройка компонента очень простая:
На скриншот поместились все настройки компонента.
Основные настройки делаются в компонентах расположенных на трех наших страницах, которые мы создали ранее.
Соответственно нам нужно в файлах list.php и detail.php поставить соответствующие галочки.
Для файла list.php идем в компонент bitrix:catalog.section и ставим следующую галочку.
При переходе в разделы, в хлебные крошки попадет название соответствующего раздела.
Для файла detail.php идем в компонент bitrix:catalog.element и ставим следующие галочки.
При переходе к элементу в хлебные крошки попадет как название раздела, так и название элемента.
Давайте посмотрим, что у нас получилось:
Для главной страницы раздела index.php
Для страниц подразделов нашего раздела, файл list.php
Для страницы детальной карточки товара, файл detail.php
Можно было бы на этом считать настройку законченной, но мы не выполнили условие, которое сработало у меня « Не показывать хлебные крошки на странице раздела », файл index.php
Запрет отображения хлебных крошек на главной странице раздела
Данная строчка запрещает выводить хлебные крошки.
На этом первая статья закончена. Мы разобрали, как собрать каталог на отдельных компонентах. В следующей статье мы поговорим о том, как сделать то же самое, но без последнего пункта, а именно написания правил обработки адресов и изучения регулярных выражений.
Пишите свои вопросы в комментариях, я с удовольствием на них отвечу.