@DDidukh

Битрикс — как Реализовать возможность администратору сайта указывать текст в блоке ПОЛЕЗНАЯ ИНФОРМАЦИЯ без необходимости редактироваться исходный код?

[ex1-11] Управление текстом в шаблоне: блок Полезная информация.
• Задание решить с помощью включаемых областей.
• Реализовать возможность администратору сайта указывать текст в блоке Полезная информация без необходимости редактироваться исходный код.
• Должна быть возможность указывать разный текст для разных разделов сайта.

5aa93063acc2a658153658.jpeg

• Верстка, реализующая «каркас» блока, не должна быть в файле, который содержит редактируемый администратором текст. Это позволит минимизировать возможность
«поломки» шаблона сайта.

Нашел было ответ, да мало что понял:

5aa930b2e3cd8772542335.jpeg

Подскажите пожалуйста, как сделать шаблон для компонента включаемой области и сделать там проверку?
  • Вопрос задан
  • 2189 просмотров
Пригласить эксперта
Ответы на вопрос 3
gromdron
@gromdron
Работаю с Bitrix24
ОМГ!
Вы же читать умеете?? Давайте порассуждаем о задании и прочитаем его.
• Задание решить с помощью включаемых областей.

Значит нужно использовать компонент bitrix:main.include и никак иначе.
Возможно придется писать дополнительный код.
• Реализовать возможность администратору сайта указывать текст в блоке Полезная информация без необходимости редактироваться исходный код.

Окей, значит дополнительного кода писать не нужно, а значит все можно решить компонентом bitrix:main.include + шаблон
• Должна быть возможность указывать разный текст для разных разделов сайта.

Разделов? Ага, значит смотрим параметры компонента (https://dev.1c-bitrix.ru/user_help/components/sluz...
AREA_FILE_SHOW: sect
AREA_FILE_RECURSIVE: Y
• Верстка, реализующая «каркас» блока, не должна быть в файле, который содержит редактируемый администратором текст. Это позволит минимизировать возможность «поломки» шаблона сайта.

А раз bitrix:main.include подключает файл в шаблоне компонента, значит нам нужно кастомизировать шаблон компонента, а не тупо его вставить

Что получается в итоге:
1) В шаблоне сайта размещаем компонент bitrix:main.include, настраиваем его на работу с разделами
2) В корне размещаем sect.php файл, в котором пишем "Лучший выбор мебели в нашей компании!", таким образом мы удовлетворили первое решение
3) В разделе /company/ создаем sect.php файл в котором пишем "Надежный поставщик на все времена."
4) После создания и размещения в режиме редактирования нажимаем копировать шаблон компонента и вносим изменения:
- Если файла нет или область пуста (надеюсь на php-вы же сможете это сделать) - не выводить область
- Если она есть - выводить в шаблоне

Читайте внимательно документацию! Смотрите видео курсов.
*Экзамен проверят ВАШИ знания, а не мои*
Ответ написан
Комментировать
megafax
@megafax
web-программист
вместо того, что у Вас в блоке полезная информация - поставьте компонент включаемой области
$APPLICATION->IncludeComponent(
      "bitrix:main.include", 
      "", 
      array(
        "AREA_FILE_SHOW" => "file", 
        "PATH" => SITE_DIR."include/info.php"
      ), 
      false
);

А в него уже разместите саму текстовку. Потом в публичной части Вы уже сможете редактировать только включаемую область.
"PATH" => SITE_DIR."include/info.php" - можете выставить на свое усмотрение
Ответ написан
4) После создания и размещения в режиме редактирования нажимаем копировать шаблон компонента и вносим изменения:
- Если файла нет или область пуста (надеюсь на php-вы же сможете это сделать) - не выводить область
- Если она есть - выводить в шаблоне


В самом шаблоне:
(проверяем размер файла и если не пустой - выводим верстку и содержимое файла)
<? if (0 != filesize( $arResult["FILE"] )): ?> <!-- эта проверка необязательна, но можно использовать, если встроенной проверки компонента нет -->
<div class="side-block side-anonse">
    <div class="title-block"><span class="i i-title01"></span>Полезная информация!</div>
    <div class="item">
	<?if($arResult["FILE"] <> '')
		include($arResult["FILE"]);?>
	</div>
</div>

<? endif; ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы