Разное

Footer bitrix: Как изменить футер в 1c битрикс из админки? — Хабр Q&A

Содержание

Страница и порядок её выполнения

Страница представляет из себя PHP файл, состоящий из пролога, тела страницы (основной рабочей области) и эпилога:

  • header (/bitrix/header.php )
  • workarea
  • footer (/bitrix/footer.php)

Страница имеет определённую структуру, свойства и параметры. Она может использовать свои собственные шаблоны.

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

ОперацияОпределяемые константы и переменныеПримечание
1. Служебная часть пролога (/bitrix/modules/main/include/prolog_before.php)
1.1Подключение

/bitrix/php_interface/dbconn.php
 Подключаемый файл должен содержать определения переменных для соединения с базой данных, констант для отладки и прав доступа.
1.2Соединение с базой данных$DBВ случае ошибки соединения будет подключен файл /bitrix/php_interface/dbconn_error.php.
1.3Подключение

/bitrix/php_interface/after_connect.php
 Подключаемый файл может содержать операции, необходимые для выполнения сразу после соединения с БД.
1.4Определение текущего сайта$APPLICATION, SITE_ID, SITE_DIR, SITE_SERVER_NAME, SITE_CHARSET, FORMAT_DATE, FORMAT_DATETIME, LANGUAGE_ID,


Определяются все классы и функции Главного модуля.
Если к этому моменту определена константа с кодом сайта SITE_ID , то сайт не будет определяться по текущей папке и доменному имени, а все остальные константы будут определены для этого сайта.
1.5Подключение

/bitrix/php_interface/init.php
 Может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций — общие для всех сайтов.
1.6Подключение

/bitrix/php_interface/ID сайта/init.php
 Содержит параметры, определения функций для конкретного сайта.
1.7Открытие сессииВсе сессионные переменные $_SESSION 
1.8Событие OnPageStart
1.9Определение пользователя, авторизация пользователя, завершение сеанса, регистрация (в зависимости от параметров в запросе)$USER 
1.10Определение текущего шаблона сайтаSITE_TEMPLATE_ID 
1.11Событие OnBeforeProlog  
1.12Проверка прав доступа уровня 1 В случае если прав недостаточно, то выводится форма авторизации и страница завершает выполнение.
1.13Начало буфферизации вывода После начала буферизации можно делать вывод, до установки куков и наоборот, устанавливать куки после вывода в поток.
1.14Событие OnProlog  
2. Визуальная часть пролога (/bitrix/modules/main/include/prolog_after.php)
2.1Подключение

/bitrix/templates/ID шаблона сайта/header.php
  
3. Тело страницы
4. Визуальная часть эпилога (/bitrix/modules/main/include/epilog_before.php)
4.1Подключение

/bitrix/templates/ID шаблона сайта/footer.php
  
4.2Вызов функции CMain::ShowSpreadCookieHTML Данная функция выводит набор невидимых IFRAME’ов используемых в Технология переноса посетителей
5. Служебная часть эпилога (/bitrix/modules/main/include/epilog_after.php)
5.1Событие OnEpilog  
5.2Завершение буферизации страницы Завершение и вывод в поток буффера инициализированного в п. 1.14
5.3Событие OnAfterEpilog  
5.4Проверка агентов 
5.5Отправка E-Mail писем Подробнее о E-Mail письмах можно прочитать в разделе «Почтовая система»
5.6Завершение соединения с базой данныхПеременная $DB больше недоступна 

См. также

6

Антон Долганин
07.05.2014 06:26:40

Цитата
Данная функция выводит набор невидимых IFRAME’ов используемых в Технология переноса посетителей

Давно уже используются картинки вместо фреймов а с версии 14.5 и вовсе JS. В связи с этим скорее всего комментарий Эльдара уже неактуален.

4

Эльдар Рахимбердин
03.11.2009 10:37:20

ShowSpreadCookieHTML вызыватся в epilog_before.php до подключения /bitrix/templates/ID шаблона сайта/footer.php

© «Битрикс»,
2001-2020,
«1С-Битрикс», 2020

Наверх

Битрикс. Создание простого компонента. Часть 1. Категория: Web-разработка • CMS Битрикс


Давайте создадим простой компонент, который умеет выводить элемент каталога (товар) по его идентификатору. В первую очередь нужно создать свое пространство имен, например demo. Для этого создаем папку /bitrix/components/demo, а внутри нее делаем папку компонента catalog.element. И в ней, в свою очередь, создаем следующие папки и файлы:

  • файл component.php
  • файл .description.php
  • файл .parameters.php
  • папка templates
[bitrix]
    [components]
        [bitrix]
            [advertising.banner]
            ..........
        [demo]
            [catalog.element]
                [templates]
                    [.default]
                        template.php
                component.php
                .description.php
                .parameters.php


В файле component.php размещаем код, получающий из базы данных элемент инфоблока по идентификатору:

<?php
/*
 * Файл bitrix/components/demo/catalog.element/component.php
 */
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) die();

// массив результата работы компонента
$arResult = array();
if (CModule::IncludeModule('iblock')) {
    // получаем из базы данных элемент инфоблока по идентификатору;
    // идентификатор получаем из входных параметров компонента
    $PRODUCT_ID = (int)$arParams['PRODUCT_ID'];
    $result = CIBlockElement::GetByID($PRODUCT_ID);
    if ($product = $result->GetNext()) {
        $arResult['GENERAL'] = $product;
    }
}
// подключаем шаблон компонента
$this->IncludeComponentTemplate();


В файле .description.php задаем имя и описание компонента и задаем расположение компонента в визуальном редакторе:

<?php
/*
 * Файл bitrix/components/demo/catalog.element/.description.php
 */
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) die();
$arComponentDescription = array(
    'NAME' => 'Товар каталога',
    'DESCRIPTION' => 'Выводит товар каталога',
    'PATH' => array(
        'ID' => 'demo',
        'NAME' => 'Мои компоненты',
        'CHILD' => array(
            'ID' => 'demo_catalog',
            'NAME' => 'Каталог товаров'
        )
    ),
    'ICON' => '/images/icon.gif'
);


Ключи массива $arComponentDescription:

  • NAME — название компонента;
  • DESCRIPTION — описание компонента;
  • ICON — путь к иконке компонента относительно папки компонента;
  • PATH — расположение компонента в виртуальном дереве компонента в визуальном редакторе. Значением этого элемента должен быть массив, имеющий ключи:
    • ID — код ветки дерева
    • NAME — название ветки дерева
    • CHILD — подчиненная ветка. В элементе с ключем CHILD может быть задана подчиненная ветка дерева с той же структурой, что и родительская ветка. Названия первого уровня content (контент), service (сервисы), communication (общение), e-store (магазин), utility (служебные) стандартизованы и их задавать не следует. Если ключ PATH не задан, то компонент не будет присутствовать в визуальном редакторе.
<?php
/*
 * Файл bitrix/components/demo/catalog.element/.parameters.php
 */
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
    'GROUPS' => array(),
    'PARAMETERS' => array(
        'PRODUCT_ID' => array(
            'PARENT' => 'BASE', // код группы, если отсутствует, подразумевается ADDITIONAL_SETTINGS
            'NAME' => 'Идентификатор товара', // название параметра на текущем языке
            'TYPE' => 'STRING', // тип элемента управления, в котором будет устанавливаться параметр
            'MULTIPLE' => 'N',  // одиночное/множественное значение (N/Y)
            'DEFAULT' => '346', // значение по умолчанию
            'REFRESH' => 'Y',   // перегружать настройки или нет после выбора (N/Y)
        ),
    ),
);


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











Код СортировкаНазваниеОписание
BASE100Основные параметрыБазовые параметры для работы компонента
DATA_SOURCE200Источник данныхПараметры, указывающие, откуда выбирать данные для компонента (к примеру, для компонент модуля Инфоблоки это тип и ID инфоблока).
VISUAL300Настройки внешнего видаСюда предполагается размещать параметры, отвечающие за внешний вид.
USER_CONSENT350Согласие пользователяНастрйока параметров на получение согласия пользователя, согласно законодательству РФ.
URL_TEMPLATES400Шаблоны ссылокСлужебная
SEF_MODE500Управление адресами страницГруппа для всех параметров, связанных с использованием ЧПУ.
AJAX_SETTINGS550Управление режимом AJAX Все, что касается использования AJAX.
CACHE_SETTINGS600Настройки кешированияПоявляется при указании параметра CACHE_TIME.
ADDITIONAL_SETTINGS700Дополнительные настройкиЭта группа появляется, например, при указании параметра SET_TITLE.


Ключ PARAMETERS задает массив параметров компонента. У нас единственный параметр, который задает идентификатор элемента инфоблока.


И наконец, файл шаблона компонента, который отвечает за показ элемента инфоблока:

<?php
/*
 * Файл bitrix/components/demo/catalog.element/templates/.default/template.php
 */
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) die();
?>

<h2><?= $arResult['GENERAL']['NAME']; ?></h2>

<?php if (!empty($arResult['GENERAL']['DETAIL_TEXT'])): ?>
    <div>
    <?= $arResult['GENERAL']['DETAIL_TEXT']; ?>   
    </div>
<?php endif; ?>

<?php if (!empty($arResult['GENERAL']['DETAIL_PICTURE'])): ?>
    <?php $image = CFile::GetPath($arResult['GENERAL']['DETAIL_PICTURE']); ?>
    <img src="<?= $image; ?>" alt="" />
<?php endif; ?>


В принципе, компонент готов. Давайте создадим раздел сайта demo и откроем страницу /demo/index.php в визуальном редакторе:



После размещения компонента на странице появится форма параметров компонента:



А файл /demo/index.php будет содержать код вызова компонента:

<?php require $_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"; ?>

<?php
$APPLICATION->IncludeComponent(
    "demo:catalog.element",
    "",
    Array(
        "PRODUCT_ID" => "346"
    )
);
?>

<?php require $_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"; ?>

Поиск:
$arParams • $arResult • .description.php • .parameters.php • CMS • Web-разработка • Битрикс • Компонент • Шаблон компонента • Элемент инфоблока • $arComponentDescription • $arComponentParameters

Битрикс. SEO для инфоблока, раздела и страницы. Категория: Web-разработка • CMS Битрикс


Для тех, кто не в курсе: SEO (Search Engine Optimization, оптимизация для поисковых систем) — это комплекс мер для повышения позиций сайта в результатах выдачи поисковых систем (Яндекс, Google, MAIL.RU и других) по заранее определенным поисковым запросам.

SEO-настройки для инфоблока


Шаблоны SEO данных можно задавать как для всего инфоблока (т.е. для всех его разделов и элементов), так и для конкретных разделов, или элементов нужного раздела. Настройка может быть сделана для всего инфоблока, а потом для конкретного раздела/элемента переопределена на свою персональную. Все эти настройки выполняются на закладке «SEO» формы создания/редактирования соответственно инфоблока, раздела или элемента.


Настройки для всего инфоблока, раздела и элемента:





Содержимое закладки «SEO» для инфоблока и для раздела полностью идентично. В ней задаются шаблоны заголовков, ключевых слов, описаний для разделов и для элементов, а также шаблоны тегов для изображений разделов и элементов. На закладке SEO формы редактирования элементов присутствуют только те настройки, которые касаются самих элементов и их изображений.


Аналогичным образом происходит работа и с атрибутами картинок. Настройка шаблонов осуществляется как для анонсовых, так и для детальных изображений разделов и элементов инфоблока. Для картинок можно устанавливать атрибуты alt, title, а также делать шаблоны названий файлов.


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

SEO-настройки для раздела и страницы


В Битрикс «создать раздел» — означает создать директорию и файл index.php, а «создать страницу» — означает создать php-файл. Для раздела также могут быть заданы SEO-настройки. Причем, эти настройки будут наследоваться дочерними разделами и страницами. Мало того, есть возможность задать SEO-настройки для корневой директории, которые будут наследоваться всеми разделами и страницами.


Настройки для корневого раздела, раздела и страницы:





Настройки для раздела сохраняются не в базе данных, а в файле .section.php:

<?php
$sSectionName = "Торговый Дом Аврора";
$arDirProperties = Array(
    "keywords" => "поставка и монтаж холодильного оборудования, холодильные камеры, камеры шоковой заморозки",
    "description" => "Поставка и монтаж холодильного оборудования, холодильные камеры для магазинов и супермаркетов.",
    "title" => "Поставка и монтаж холодильного оборудования супермаркетов",
    "robots" => "index, follow"
);
?>


Настройки для страницы прописываются в самом php-файле страницы:

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetPageProperty(
    "title",
    "Поставка и монтаж холодильного оборудования супермаркетов"
);
$APPLICATION->SetPageProperty(
    "keywords",
    "поставка и монтаж холодильного оборудования, холодильные камеры, камеры шоковой заморозки"
);
$APPLICATION->SetPageProperty(
    "description",
    "Поставка и монтаж холодильного оборудования, холодильные камеры для магазинов и супермаркетов."
);
$APPLICATION->SetTitle("Поставка и монтаж холодильного оборудования");
?>
<h2><?php $APPLICATION->ShowTitle(false); ?></h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore...
</p>
<?php require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); ?>


Столкнулся с тем, что компоненты, расположенные на странице, тоже могут устанавливать свойства страницы. Если вдруг вылезли непонятные заголовки или мета-теги, надо смотреть настройки всех компонентов на странице и снимать галочки:

  • Устанавливать заголовок страницы
  • Устанавливать заголовок окна браузера
  • Устанавливать ключевые слова страницы
  • Устанавливать описание страницы

Поиск:
CMS • SEO • Web-разработка • Битрикс • Инфоблок • Раздел инфоблока • Раздел сайта • Страница сайта • Элемент инфоблока • Настройка • Мета теги

Битрикс. Отложенные функции. Категория: Web-разработка • CMS Битрикс


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


Технология была создана в первую очередь для использования в компонентах, которые, как правило, выводятся в теле страницы, но при этом внутри них могут быть заданы заголовок страницы, добавлен пункт в навигационную цепочку, добавлена кнопка в панель управления и так далее. Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как результаты их выполнения кешируются).

Алгоритм работы


Любой исходящий поток из PHP скрипта буферизируется. Как только в коде встречается одна из следующих функций:

  • CMain::ShowTitle()
  • CMain::ShowCSS()
  • CMain::ShowNavChain()
  • CMain::ShowProperty()
  • CMain::ShowMeta()
  • CMain::ShowPanel()


Весь буферизированный до этого контент запоминается в очередном элементе стека КонтентСтраницы. И сразу полсе этого в стек КонтентСтраницы добавляется пустой элемент. В дальнейшем этот пустой элемент будет заполнен результатом выполнения отложенной функции. Имя этой отложенной функции запоминается в стеке ОтложенныеФункции. Буфер очищается и буферизация снова включается.


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


В конце страницы, в служебной части эпилога, выполняются следующие действия:

  • все отложенные функции из стека ОтложенныеФункции начинают выполняться одна за другой;
  • результаты их выполнения вставляются в специально предназначенные для этого места в стек КонтентСтраницы;
  • весь контент из стека КонтентСтраницы «склеивается» (конкатенируется) и выводится на экран.


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

Пример использования


Давайте рассмотрим пример установки заголовка страницы и заголовка окна браузера.

<?php
/*
 * Файл /local/templates/page/header.php
 */
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
?>

<!DOCTYPE html>
<html>
<head>
    <title><?php $APPLICATION->ShowTitle(); /* показываем заголовок браузера */ ?></title>
</head>
<?php
/*
 * Файл /test/index.php
 */
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
?>
<h2><?php $APPLICATION->ShowTitle(false); /* показываем заголовок страницы */ ?></h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>



Поскольку мы нигде не вызываем методы SetTitle() и SetPageProperty(), заголовок браузера и заголовок страницы у нас пустые. Давайте установим значения заголовков:

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
// устанавливаем заголовок страницы
$APPLICATION->SetTitle('Какой-то заголовок (старый)');
// устанавливаем заголовок браузера
$APPLICATION->SetPageProperty('title', 'Какой-то заголовок (старый)');
?>
<h2><?php $APPLICATION->ShowTitle(false); /* показываем заголовок страницы */ ?></h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>



Переопределим значения заголовков браузера и страницы ниже по коду:

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
// устанавливаем заголовок страницы
$APPLICATION->SetTitle('Какой-то заголовок (старый)');
// устанавливаем заголовок браузера
$APPLICATION->SetPageProperty('title', 'Какой-то заголовок (старый)');
?>
<h2><?php $APPLICATION->ShowTitle(false); /* показываем заголовок страницы */ ?></h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
// устанавливаем заголовок страницы
$APPLICATION->SetTitle('Какой-то заголовок (новый)');
// устанавливаем заголовок браузера
$APPLICATION->SetPageProperty('title', 'Какой-то заголовок (новый)');
?>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>



В компонентах Битрикс часто можно увидеть такой код, который устанавливает значения заголовков и значенния мета-тегов keywords и description:

if ($this->StartResultCache(false, ($arParams['CACHE_GROUPS']==='N' ? false: $USER->GetGroups()))) {
    /*
     * Данных в кеше нет, выполняем запрос к БД
     */

    /* ...получаем данные... */

    if (isset($arResult['ID'])) { // данные успешно получены
        $this->SetResultCacheKeys(
            array(
                'ID',
                'NAME',
                'IPROPERTY_VALUES'
            )
        );
        $this->IncludeComponentTemplate();
    } else { // что-то пошло не так
        $this->AbortResultCache();
        \Bitrix\Iblock\Component\Tools::process404(
            trim($arParams['MESSAGE_404']) ?: 'Элемент инфоблока не найден',
            true,
            $arParams['SET_STATUS_404'] === 'Y',
            $arParams['SHOW_404'] === 'Y',
            $arParams['FILE_404']
        );
    }
}

// кэш не затронет все действия ниже, здесь работаем уже с другим $arResult
if (isset($arResult['ID'])) {
    if ($arParams['SET_PAGE_TITLE'] == 'Y') { // установить заголовок страницы?
        if ($arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'] != '') {
            $APPLICATION->SetTitle($arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']);
        } else {
            $APPLICATION->SetTitle($arResult['NAME']);
        }
    }
    if ($arParams['SET_BROWSER_TITLE'] == 'Y') { // установить заголовок окна браузера?
        if ($arResult['IPROPERTY_VALUES']['ELEMENT_META_TITLE'] != '') {
            $APPLICATION->SetPageProperty('title', $arResult['IPROPERTY_VALUES']['ELEMENT_META_TITLE']);
        } else {
            $APPLICATION->SetPageProperty('title', $arResult['NAME']);
        }
    }
    // установить мета-тег keywords?
    if ($arParams['SET_META_KEYWORDS'] == 'Y' && $arResult['IPROPERTY_VALUES']['ELEMENT_META_KEYWORDS'] != '') {
        $APPLICATION->SetPageProperty('keywords', $arResult['IPROPERTY_VALUES']['ELEMENT_META_KEYWORDS']);
    }
    // установить мета-тег description?
    if ($arParams['SET_META_DESCRIPTION'] == 'Y' && $arResult['IPROPERTY_VALUES']['ELEMENT_META_DESCRIPTION'] != '') {
        $APPLICATION->SetPageProperty('description', $arResult['IPROPERTY_VALUES']['ELEMENT_META_DESCRIPTION']);
    }
    return $arResult['ID'];
}

Методы ShowViewContent и AddViewContent


Метод CMain::ShowViewContent() добавляет в стек КонтентСтраницы пустой элемент. А метод CMain::AddViewContent() добавляет в этот элемент контент, который формируется ниже:

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
?>
<h2>Случайные элементы</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
// здесь выводим контент с меткой «random-elements», который будет сфорирован ниже
$APPLICATION->ShowViewContent('random-elements');
?>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
// включаем буферизацию вывода, все идет в отдельный буфер
ob_start();
// вызываем компонент, который формирует список блок случайных элементов инфоблока
$GLOBALS['APPLICATION']->IncludeComponent(
    "tokmakov:iblock.random",
    "",
    Array(
        "ELEMENT_COUNT" => "4",
        "ELEMENT_URL" => "#SITE_DIR#/#IBLOCK_CODE#/element/code/#ELEMENT_CODE#/",
        "IBLOCK_ID" => "5",
        "IBLOCK_TYPE" => "content"
    )
);
// выключаем буферизацию и помечаем этот контент меткой «random-elements»
$APPLICATION->AddViewContent('random-elements', ob_get_clean());
?>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...
</p>
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>

Методы SetViewTarget и EndViewTarget


В шаблоне компонента вместо функций ob_start() и ob_get_clean() можно использовать методы SetViewTarget() и EndViewTarget():

<?php
// включаем буферизацию и помечаем этот контент меткой «smart-filter»
$this->SetViewTarget('smart-filter');
?>
<div>
    <?php
    $APPLICATION->IncludeComponent(
        'bitrix:catalog.smart.filter',
        '',
        Array(
            // параметры компонента
        ),
        $component
    );
    ?>
</div>
<?php
// выключаем буферизацию
$this->EndViewTarget();
?>


В том месте, где нам нужно вывести контент, добавляем в стек КонтентСтраницы пустой элемент:

<div>
    <?php $APPLICATION->ShowViewContent('smart-filter'); ?>
</div>

Поиск:
CMS • Web-разработка • Битрикс • Буферизация • Отложенные функции • ShowTitle • ShowCSS • ShowNavChain • ShowProperty • ShowMeta • ShowPanel • ShowViewContent • AddViewContent • SetViewTarget • EndViewTarget

Битрикс. Заголовок страницы. Категория: Web-разработка • CMS Битрикс


С заголовком страницы в Битрикс все очень запутано. Через панель управления можно установить «Заголовок страницы» и «Заголовок окна браузера». «Заголовок страницы» — это содержимое тега <h2> страницы, а «Заголовок окна браузера» — содержимое тега <title>. Однако, выводить на страницу и то и другое можно с помощью метода CMain::ShowTitle(), только вызывать его надо по-разному.


Если совсем коротко:

<title><?php $APPLICATION->ShowTitle(); /* Выводим «Заголовок окна браузера» */ ?></title>
<h2><?php $APPLICATION->ShowTitle(false); /* Выводим «Заголовок страницы» */ ?></h2>


Чтобы установить заголовки страницы программно, существуют специализированные функции:


И более общие функции работы со свойствами страницы и раздела:


Метод SetTitle('…') устанавливает «Заголовок страницы», а метод SetPageProperty('title', '…') устанавливает «Заголовок окна браузера». При вызове ShowTitle() без аргументов будет показан «Заголовок окна браузера», потому что фактически происходит вызов ShowTitle('title'). Если нужно, чтобы ShowTitle() выводил на страницу «Заголовок страницы», надо вызвать его с аргументом false.

<?php require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php'); ?>

<?php
$APPLICATION->SetTitle('Заголовок страницы');
$APPLICATION->SetPageProperty('title', 'Заголовок окна браузера');
?>

<?php $APPLICATION->ShowTitle(); ?>
<br/>
<?php $APPLICATION->ShowTitle(false); ?>

<?php require($_SERVER['DOCUMENT_ROOT'].'/bitrix/footer.php'); ?>
Заголовок окна браузера
<br/>
Заголовок страницы


Вообще, с помощью ShowTitle() можно вывести любое свойство страницы в качестве заголовка окна браузера. Для этого надо передать первым аргументом имя свойства, предварительно установленное с помощью SetPageProperty():

<?php $APPLICATION->SetPageProperty('heading', 'Мой заголовок'); ?>
<title><?php $APPLICATION->ShowTitle('heading'); ?></title>


Метод GetTitle() по умолчанию вызывается с аргументом false и возвращает заголовок страницы, установленный с помощью метода SetTitle(). Можно передать методу имя свойства страницы (предварительно установленное с помощью SetPageProperty()), значение которого будет выведено в качестве заголовка, например GetTitle('title').


Столкнулся с тем, что компоненты, расположенные на странице, тоже могут устанавливать свойства страницы. Если вдруг вылезли непонятные заголовки или мета-теги, надо смотреть все компоненты и снимать галочки:

  • Устанавливать заголовок страницы
  • Устанавливать заголовок окна браузера
  • Устанавливать ключевые слова страницы
  • Устанавливать описание страницы

Поиск:
CMS • ShowTitle • Web-разработка • Битрикс • Отложенные функции • Заголовок

Страница и порядок её выполнения

Страница представляет из себя PHP файл, состоящий из пролога, тела страницы (основной рабочей области) и эпилога:

  • заголовок ( /bitrix/header.php )
  • рабочая зона
  • нижний колонтитул (/bitrix/footer.php)

имеет определенную реакцию, свойства и параметры. Она может использовать свои собственные шаблоны.

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

Операция Определяемые константы и переменные Примечание
1.Служебная часть пролога (/bitrix/modules/main/include/prolog_before.php)
1.1 Подключение

/bitrix/php_interface/dbconn.php
Подключаемый файл должен содержать определение числа для соединения с базой данных, констант для отладки и прав доступа.
1.2 Соединение с базой данных $ DB В случае ошибки соединения будет подключен файл / bitrix / php_interface / dbconn_error.php .
1,3 Подключение

/bitrix/php_interface/after_connect.php
Подключаемый файл может содержать операции, необходимые для выполнения сразу после соединения с БД.
1.4 Определение текущего сайта $ APPLICATION, SITE_ID, SITE_DIR, SITE_SERVER_NAME, SITE_CHARSET, FORMAT_DATE, FORMAT_DATETIME, LANGUAGE_ID,

Определяются все классы и функции Главного модуля.
Если к этому моменту определена константа кодом сайта SITE_ID, то сайт не будет определяться по текущему объекту и дому имени, а все остальные константы будут определены для этого сайта.
1,5 Подключение

/bitrix/php_interface/init.php
Может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций — общие для всех сайтов.
1.6 Подключение

/ bitrix / php_interface / ID сайта /init.php
Содержит параметры, определения функций для конкретного сайта.
1,7 Открытие сессии Все сессионные переменные $ _SESSION
1,8 Событие OnPageStart
1,9 Определение пользователя, авторизация пользователя, завершение сеанса, регистрация (в в зависимости от параметров в запросе) $ ПОЛЬЗОВАТЕЛЬ
1.10 Определение текущего шаблона сайта SITE_TEMPLATE_ID
1,11 Событие OnBeforeProlog
1,12 Проверка прав доступа уровня 1 В случае если прав недостаточно, то выводится форма авторизации и страница завершает выполнение.
1,13 Начало буфферизации вывода После начала буферизации можно делать вывод, до установки куков и наоборот, устанавливать куки после вывода в поток.
1.14 Событие OnProlog
2. Визуальная часть пролога (/bitrix/modules/main/include/prolog_after.php)
2.1 Подключение

/ bitrix / templates / ID шаблона сайта /header.php
3. Тело страницы
4.Визуальная часть эпилога (/bitrix/modules/main/include/epilog_before.php)
4.1 Подключение

/ bitrix / templates / ID шаблона сайта /footer.php
4.2 Вызов функции CMain :: ShowSpreadCookieHTML Данная функция выводит набор невидимых IFRAME’ов в их отношении в Технология переноса посетителей
5.Служебная часть эпилога (/bitrix/modules/main/include/epilog_after.php)
5.1 Событие OnEpilog
5.2 Завершение буферизации страницы Завершение и вывод страницы в поток буффера инициализированного в п. 1.14
5.3 Событие OnAfterEpilog
5.4 Проверка агентов
5.5 Отправка E-Mail писем Подробнее о E-Mail письмах можно прочитать в разделе «Почтовая система»
5.6 Завершение соединения с базой данных Переменная $ DB больше недоступна

См. также

6

Антон Долганин
07.05.2014 06:26:40

Цитата
Данная функция выводит набор невидимых IFRAME’ов используется в Технология переноса посетителей

Давно уже используются картинки вместо фреймов с версии 14.5 и вовсе JS. В связи с этим скорее всего комментарий Эльдара уже неактуален.

4

Эльдар Рахимбердин
03.11.2009 10:37:20

ShowSpreadCookieHTML вызыватся в epilog_before.php до подключения / bitrix / templates / ID шаблона сайта / footer.php

© «Битрикс»,
2001-2020,
«1С-Битрикс», 2020

Наверх

.

Битрикс. Создание простого компонента. Часть 1. Категория: Web-разработка • CMS Битрикс

Давайте создадим простой компонент, который умеет выводить элемент каталога (товар) по его указатору. В первую очередь нужно создать свое пространство имен, например demo . Для этого создайте папку / bitrix / components / demo , а внутри нее делаем папку компонента catalog.element . И в ней, в свою очередь, создаем следующие папки и файлы:

  • файл компонент.php
  • файл .description.php
  • файл .parameters.php
  • папка шаблона
 [битрикс]
    [компоненты]
        [битрикс]
            [Advertising.banner]
            ..........
        [демо]
            [catalog.element]
                [шаблоны]
                    [.дефолт]
                        template.php
                component.php
                .description.php
                .parameters.php 

В файле component.php размещаем код, получающий из базы данных элемент инфоблока по контакатору:

  GetNext ()) {
        $ arResult ['GENERAL'] = $ product;
    }
}
// подключаем шаблон компонента
$ this-> IncludeComponentTemplate (); 

В файле .description.php задает свойства компонента в визуальном редакторе:

  'Товар каталога',
    'DESCRIPTION' => 'Вывод товарного каталога',
    'ПУТЬ' => массив (
        'ID' => 'демо',
        'NAME' => 'Мои компоненты',
        'CHILD' => массив (
            'ID' => 'demo_catalog',
            'NAME' => 'Каталог товаров'
        )
    ),
    'ICON' => '/ images / icon.gif '
); 

Ключи массива $ arComponentDescription :

  • НАИМЕНОВАНИЕ — название компонента;
  • ОПИСАНИЕ — описание компонента;
  • ICON — путь к иконке компонента относительно папки компонента;
  • PATH — расположение компонента в виртуальном дереве компонента в визуальном редакторе. Значением этого элемента должен быть массив, имеющий ключи:
    • ID — код ветки дерева
    • НАИМЕНОВАНИЕ — название ветки дерева
    • РЕБЕНОК — подчиненная ветка.В элементе с ключем РЕБЕНОК может быть задана подчиненная ветка дерева с той же структурой, что и родительская ветка. Названия первого контент (контент), сервис (сервисы), коммуникация (общение), электронный магазин (магазин), утилита (служебные) стандартизованы и их задавать не следует. Если ключ PATH не задан, то компонент не будет присутствовать в визуальном редакторе.
  массив (),
    'ПАРАМЕТРЫ' => массив (
        'PRODUCT_ID' => массив (
            'PARENT' => 'BASE', // код группы, если отсутствует, подразумевается ADDITIONAL_SETTINGS
            'NAME' => 'Идентификатор товара', // название программы на текущем языке
            'TYPE' => 'STRING', // тип управления, в котором будет устанавливаться параметр элемента
            'MULTIPLE' => 'N', // одиночное / множественное значение (N / Y)
            'DEFAULT' => '346', // значение по умолчанию
            'REFRESH' => 'Y', // перегружать настройки или нет после выбора (N / Y)
        ),
    ),
); 

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

Код Сортировка Название Описание
ОСНОВАНИЕ 100 Основные параметры Базовые параметры для работы компонента
ИСТОЧНИК_ДАННЫХ 200 Источник данных Параметры, указывающие, откуда выбирать данные для компонента (к примеру, для компонентного модуля Инфоблоки это тип и ID инфоблока).
ВИЗУАЛЬНО 300 Настройки внешнего вида Сюда записаны параметры, отвечающие за внешний вид.
КОНСЕНТ_ПОЛЬЗОВАТЕЛЯ 350 Согласие пользователя Настрйока параметров на получение согласия, согласно законодательству РФ.
URL_ШАБЛОНЫ 400 Шаблоны ссылок Служебная
SEF_MODE 500 Управление адресами страниц Группа для всех параметров, связанных с использованием ЧПУ.
AJAX_SETTINGS 550 Управление режимом AJAX Все, что касается использования AJAX.
НАСТРОЙКИ КЭША 600 Настройки кеширования Появляется при указании программы CACHE_TIME .
ДОПОЛНИТЕЛЬНЫЕ_НАСТРОЙКИ 700 Дополнительные настройки Эта группа появляется, например, при указании расписания SET_TITLE .

Ключ ПАРАМЕТРЫ задает массив параметров компонента. У нас единственный параметр, который задает идентификатор элемента инфоблока.

И наконец, файл компонента, отвечающий за показательный элемент инфоблока:

 

" alt = "" />

В принципе, компонент готов.Давайте создадим раздел сайта demo и откроем страницу /demo/index.php в визуальном редакторе:

После размещения компонента на странице появится форма компонента:

А файл /demo/index.php будет содержать код вызова компонента:

 

 IncludeComponent (
    "демо: каталог.элемент",
    "",
    Массив (
        "PRODUCT_ID" => "346"
    )
);
?>

 

Поиск:
$ arParams • $ arResult • .description.php • .parameters.php • CMS • Web-разработка • Битрикс • Компонент • Шаблон компонента • Элемент инфоблока • $ arComponentDescription • $ arComponentParameters

.

Битрикс. Отложенные функции. Категория: Web-разработка • CMS Битрикс

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

Технология была создана в первую очередь для использования в компонентах, которые, как правило, выводятся в тележки, но при этом внутри них могут быть заданы заголовки страницы, добавлен пункт в навигационную цепочку, добавлена ​​кнопка в панели управления и так далее.Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как их выполнение кешируются).

Алгоритм работы

Любой исходящий поток из PHP скрипта буферизируется. Как только в коде встречается одна из следующих функций:

  • CMain :: ShowTitle ()
  • CMain :: ShowCSS ()
  • CMain :: ShowNavChain ()
  • CMain :: ShowProperty ()
  • CMain :: ShowMeta ()
  • CMain :: ShowPanel ()

Весь буферизированный до этого контента запоминается в очередном элементе стека КонтентСтраницы .И сразу полсе этого в стек КонтентСтраницы добавляется пустой элемент. В дальнейшем этот пустой элемент будет заполнен результатом выполнения отложенной функции. Имя этой отложенной функции запоминается в стеке ОтложенныеФункции . Буфер очищается и буферизация снова включается.

Таким образом, существует стек КонтентСтраницы , в котором находится весь контент страницы, разбитый на части. В этом же стеке есть пустые элементы, предназначенные для их заполнения результатов отложенных функций.Также стек ОтложенныеФункции , в котором запоминаются имена и параметры отложенных функций в порядке их следования в коде.

В конце страницы, в служебной части эпилога, выполняются следующие действия:

  • все отложенные функции из стека41 ОтложенныеФункции Начало одна за другую;
  • результаты их выполнения вставляются в специально предназначенные для этого места в стек КонтентСтраницы ;
  • весь контент из стека КонтентСтраницы «склеивается» (конкатенируется) и выводится на экран.

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

Пример использования

Давайте рассмотрим пример установки заголовка страницы и заголовка окна.

 




    <название>  ShowTitle (); / * показываем заголовок * /?> 
 
 

ShowTitle (false); / * показываем заголовок страницы * /?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

Методы SetTitle () и SetPageProperty () , заголовок и заголовок страницы у нас пустые.Давайте установим значения заголовков:

  SetTitle ('Какой-то заголовок (старый)');
// устанавливаем заголовок
$ APPLICATION-> SetPageProperty ('title', 'Какой-то заголовок (старый)');
?>

ShowTitle (false); / * показываем заголовок страницы * /?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

Переопределим значения заголовков и страницы ниже по коду:

  SetTitle ('Какой-то заголовок (старый)');
// устанавливаем заголовок
$ APPLICATION-> SetPageProperty ('title', 'Какой-то заголовок (старый)');
?>

ShowTitle (false); / * показываем заголовок страницы * /?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...

SetTitle ('Какой-то заголовок (новый)'); // устанавливаем заголовок $ APPLICATION-> SetPageProperty ('title', 'Какой-то заголовок (новый)'); ?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

В компоненте Битрикс часто можно увидеть такой код, который устанавливает значения заголовков и значенния мета-тегов ключевые слова и описание :

 if ($ this-> StartResultCache (false, ($ arParams ['CACHE_GROUPS'] === 'N'? False: $ USER-> GetGroups ()))) {
    / *
     * Данных в кеше нет, выполняем запрос к БД
     * /

    / *...получаем данные ... * /

    if (isset ($ arResult ['ID'])) {// данные успешно получены
        $ this-> SetResultCacheKeys (
            массив (
                'Я БЫ',
                'ИМЯ',
                "IPROPERTY_VALUES"
            )
        );
        $ this-> IncludeComponentTemplate ();
    } else {// что-то пошло не так
        $ this-> AbortResultCache ();
        \ Bitrix \ Iblock \ Component \ Tools :: process404 (
            trim ($ arParams ['MESSAGE_404'])?: 'Элемент инфоблока не найден',
            правда,
            $ arParams ['SET_STATUS_404'] === 'Y',
            $ arParams ['SHOW_404'] === 'Y',
            $ arParams ['FILE_404']
        );
    }
}

// кэш не поддерживает все действия ниже, здесь работаем уже с другими $ arResult
if (isset ($ arResult ['ID'])) {
    if ($ arParams ['SET_PAGE_TITLE'] == 'Y') {// установить заголовок страницы?
        if ($ arResult ['IPROPERTY_VALUES'] ['ELEMENT_PAGE_TITLE']! = '') {
            $ APPLICATION-> SetTitle ($ arResult ['IPROPERTY_VALUES'] ['ELEMENT_PAGE_TITLE']);
        } else {
            $ APPLICATION-> SetTitle ($ arResult ['ИМЯ']);
        }
    }
    if ($ arParams ['SET_BROWSER_TITLE'] == 'Y') {// установить заголовок окна?
        if ($ arResult ['IPROPERTY_VALUES'] ['ELEMENT_META_TITLE']! = '') {
            $ APPLICATION-> SetPageProperty ('название', $ arResult ['IPROPERTY_VALUES'] ['ELEMENT_META_TITLE']);
        } else {
            $ APPLICATION-> SetPageProperty ('название', $ arResult ['ИМЯ']);
        }
    }
    // установить мета-тег ключевые слова?
    if ($ arParams ['SET_META_KEYWORDS'] == 'Y' && $ arResult ['IPROPERTY_VALUES'] ['ELEMENT_META_KEYWORDS']! = '') {
        $ APPLICATION-> SetPageProperty ('ключевые слова', $ arResult ['IPROPERTY_VALUES'] ['ELEMENT_META_KEYWORDS']);
    }
    // установить мета-тег описание?
    if ($ arParams ['SET_META_DESCRIPTION'] == 'Y' && $ arResult ['IPROPERTY_VALUES'] ['ELEMENT_META_DESCRIPTION']! = '') {
        $ APPLICATION-> SetPageProperty ('описание', $ arResult ['IPROPERTY_VALUES'] ['ELEMENT_META_DESCRIPTION']);
    }
    return $ arResult ['ID'];
} 

Методы ShowViewContent и AddViewContent

Метод CMain :: ShowViewContent () в стек КонтентСтраницы пустой элемент.А метод CMain :: AddViewContent () в этом элементе, который формируется ниже:

 

Случайные элементы

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore ...

ShowViewContent ('случайные элементы'); ?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...

IncludeComponent ( "токмаков: iblock.random", "", Массив ( "ELEMENT_COUNT" => "4", "ELEMENT_URL" => "#SITE_DIR # / # IBLOCK_CODE # / element / code / # ELEMENT_CODE # /", "IBLOCK_ID" => "5", "IBLOCK_TYPE" => "содержание" ) ); // выключаем буферизацию и помечаем этот контент меткой «random-elements» $ APPLICATION-> AddViewContent ('случайные элементы', ob_get_clean ()); ?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...

Методы SetViewTarget и EndViewTarget

В шаблоне компонента вместо функций ob_start () и ob_get_clean () можно использовать методы SetViewTarget () и EndViewTarget () :

  SetViewTarget ('умный фильтр');
?>
IncludeComponent ( Битрикс: каталог.smart.filter ', '', Массив ( // параметры компонента ), $ component ); ?>
EndViewTarget (); ?>

В том месте, где нам нужно вывести контент, добавляем в стек КонтентСтраницы пустой элемент:

 
ShowViewContent ('смарт-фильтр'); ?>

Поиск:
CMS • Web-разработка • Битрикс • Буферизация • Отложенные функции • ShowTitle • ShowCSS • ShowNavChain • ShowProperty • ShowMeta • ShowPanel • ShowViewContent • AddViewContent • SetViewTarget • EndViewTarget

.

Битрикс. SEO для инфоблока, раздела и страницы. Категория: Web-разработка • CMS Битрикс

Для тех, кто не в курсе: SEO (поисковая оптимизация, оптимизация для поисковых систем) — это комплекс мер для повышения эффективности сайтов в результатах выдачи поисковых систем (Яндекс, Google, MAIL.RU и других) по заранее определенным поисковым запросам.

SEO-настройки для инфоблока

Шаблоны SEO данных можно задавать как для всего инфоблока (т.е. для всех его разделов и элементов), так и для конкретных разделов, или элементовного раздела. Настройка может быть сделана для всего инфоблока, а потом для конкретного раздела / элемента переопределена на свою персональную. Все эти настройки выполняются на закладке «SEO» формы создания / редактирования соответственно инфоблока, раздела или элемента.

Настройки для всего инфоблока, раздела и элемента:

Содержимое закладки «SEO» для инфоблока и для раздела полностью идентично.В ней задаются шаблоны заголовков, ключевых слов, описаний для разделов и для элементов, а также шаблоны тегов для изображений разделов и элементов. В закладке SEO формы редактирования элементов принимают только те настройки, которые касаются самих элементов и их изображений.

Аналогичным образом происходит работа и с атрибутами картинок. Настройка шаблонов осуществляется как для анонсовых, так и для детальных изображений разделов и элементов инфоблока. Для картинок можно установить атрибуты alt , title , а также делать шаблоны названий файлов.

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

SEO-настройки для раздела и страницы

В Битрикс «создать раздел» — означает создать директорию и файл index.php , а «создать страницу» — означает создать php-файл. Для раздела также могут быть заданы SEO-настройки. Причем, эти настройки будут наследоваться дочерними разделами и страницами.Мало того, есть возможность установить SEO-настройки для директории, которые будут наследоваться всеми разделами и страницами.

Настройки для корневого раздела, раздела и страницы:

Настройки для раздела сохраняются не в базе данных, а в файле .section.php :

  "поставка и монтаж холодильного оборудования, холодильные камеры, камеры шоковой заморозки",
    "description" => "Поставка и монтаж холодильного оборудования, холодильные камеры для магазинов и супермаркетов.",
    "title" => "Поставка и монтаж холодильного оборудования супермаркетов",
    "robots" => "index, follow"
);
?> 

Настройки для страницы прописываются в самом php-файле страницы:

  SetPageProperty (
    "заглавие",
    "Поставка и монтаж холодильного оборудования супермаркетов"
);
$ APPLICATION-> SetPageProperty (
    "ключевые слова",
    "поставка и монтаж холодильного оборудования, холодильные камеры, камеры шоковой заморозки"
);
$ APPLICATION-> SetPageProperty (
    "описание",
    "Поставка и монтаж холодильного оборудования, холодильные камеры для магазинов и супермаркетов."
);
$ APPLICATION-> SetTitle («Поставка и монтаж холодильного оборудования»);
?>

ShowTitle (false); ?>

Lorem ipsum dolor sit amet, conctetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ...

Столкнулся с тем, что расположенные на странице, тоже размещены страницы. Если вдруг вылезли непонятные заголовки или мета-теги, надо смотреть настройки всех компонентов на странице и снимать галочки:

  • Устанавливать заголовок страницы
  • Устанавливать заголовок окна
  • Устанавливать ключевые слова страницы
  • Устанавливать описание страницы

Поиск:
CMS • SEO • Веб-разработка • Битрикс • Инфоблок • Раздел инфоблока • Раздел сайта • Страница сайта • Элемент инфоблока • Настройка • Мета теги

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *