Любой контент внутри элемента инфоблока 1С-Битрикс
  1. Главная
  2. chevron_right
  3. 1С-Битрикс
  4. chevron_right
  5. Любой контент внутри элемента инфоблока 1С-Битрикс

Любой контент внутри элемента инфоблока 1С-Битрикс

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

Обычная страница состоит из блоков:

  • заголовок
  • изображение
  • анонс
  • блок призыва к действию
  • детальное описание
  • отзывы
  • услуги
  • и т.д.

Появилась необходимость дополнить страницу блоками:

  • почему стоит выбрать именно нас?
  • с какими сферами работаем?
  • как работаем?
  • сколько стоит?

Причем данные блоки должны быть «красиво» оформлены соответствующей инфографикой и должны размещаться в произвольном месте в детальном тексте.

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

Задача:

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

Входные данные:

1С-Битрикс + Решение Аспро: Корпоративный сайт 2.0

Решение:

Создать 4 файла:

/include/content_pochemu.php
/include/content_sfery.php
/include/content_kak.php
/include/content_skolko.php

Исходники:

20230511 битрикс коды в элемент

Далее в файле component_epilog.php шаблона услуг:

/bitrix/templates/aspro-allcorp2/components/bitrix/news.detail/services/component_epilog.php

 

Внести правки до вывода содержимого поля ‘DETAIL_TEXT’:

 

<?//Записываем содержимое файла в переменную ?>
<?$content_pochemu = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/include/content_pochemu.php');?>
<?//Заменяем тег #CONTENT_POCHEMU# на содержимое загруженного файла ?>
<?$templateData["DETAIL_TEXT"] = str_replace("#CONTENT_POCHEMU#", $content_pochemu, $templateData["DETAIL_TEXT"]);?>

<?$content_sfery = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/include/content_sfery.php');?>
<?$templateData["DETAIL_TEXT"] = str_replace("#CONTENT_SFERY#", $content_sfery, $templateData["DETAIL_TEXT"]);?>

<?$content_kak = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/include/content_kak.php');?>
<?$templateData["DETAIL_TEXT"] = str_replace("#CONTENT_KAK#", $content_kak, $templateData["DETAIL_TEXT"]);?>

<?$content_skolko = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/include/content_skolko.php');?>
<?$templateData["DETAIL_TEXT"] = str_replace("#CONTENT_SKOLKO#", $content_skolko, $templateData["DETAIL_TEXT"]);?>

<?//Вывод детального описания ?>
<?=$templateData['DETAIL_TEXT'];?>

В данном коде:

1) в каждую переменную загружается содержимое соответствующего файла внутри которого html блоки с инфографикой и описанием.

2) внутри поля ‘DETAIL_TEXT’ производится замена найденного тега #TUT_TAG# на соответствующее содержимое.

3) и в конце осуществляется вывод поля ‘DETAIL_TEXT’.

 

Изначальный вид обычной страницы услуги:
https://allcorp2.aspro-demo.ru/services/avtomatizatsiya/avtomatizatsiya-otdela-prodazh/

Модифицированный вид:
https://unitbuh.ru/services/bukhgalterskie-uslugi/bukhgalterskoe-obsluzhivanie/

 

Спасибо за внимание.

4.5/5 - (2 голоса)
Предыдущая запись
Как взломать ВКонтакте?

Похожие записи

Результатов не найдено.

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

14 + 11 =

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.