Создадим инфоблок в BITRIX, выведем листинг созданных элементов посредством компонента bitrix:news.list и сделаем детальную страницу элемента компонентом bitrix:news.detail
Создание инфоблока
Необходимые поля для заполнения:
Вкладка инфоблок

Вкладка доступ

Вывод элементов ИБ
Для вывода элементов инфоблока используется bitrix:news.list в index.php. Минимальный набор параметров для вызова:
<? $APPLICATION->IncludeComponent( "bitrix:news.list", "tour", // шаблон array( "IBLOCK_TYPE" => "content", // тип информационного блока "IBLOCK_ID" => "1", // ID информационного блока "NEWS_COUNT" => "10", // колличество выводимых элементов "INCLUDE_IBLOCK_INTO_CHAIN" => "N", "ADD_SECTIONS_CHAIN" => "N", "SET_TITLE" => "N", "PROPERTY_CODE" => array( 0 => "NAME", // включить свойство из инфоблока ), ), false ); ?>
Список всех возможных параметров для компонента bitrix:news.list смотрите по ссылке
Если необходима фильтрация, есть параметр FILTER_NAME. Над вызовом компонента bitrix:news.list создаем глобальную переменную, с параметром фильтрации.
<? global $arFilter; $arFilter = ['!PROPERTY_OLD'=>1]; // Не выведутся те элементы, в свойстве которых OLD установлено значение 1 ?>
а в bitrix:news.list передаем фильтр.
"FILTER_NAME" => "arFilter",
Настройка urlrewrite
В urlrewrite.php необходимо прописать параметры обработки URL.
<? $arUrlRewrite = array( array( 'CONDITION' => '#^/tury/(.*)/.*#', // Обработка детальной страницы 'RULE' => 'ELEMENT_CODE=$1', 'ID' => 'bitrix:news', 'PATH' => '/tury/detail.php', 'SORT' => 100, ), array ( 'CONDITION' => '#^/tury/#', // Обработка главной страницы раздела 'RULE' => '', 'ID' => 'bitrix:news', 'PATH' => '/tury/index.php', 'SORT' => 100, ), );
Вывод детальной страницы
Для вывода детальной страницы в detail.php используется bitrix:news.last. Минимальный набор параметров для вызова:
<?$APPLICATION->IncludeComponent(
"bitrix:news.detail",
"tour", // шаблон
Array(
"IBLOCK_ID" => "1", // ID информационного блока
"IBLOCK_TYPE" => "content", // тип информационного блока
"ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"], // параметр передаваемой страницы
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"SET_BROWSER_TITLE" => "Y",
"SET_META_DESCRIPTION" => "Y",
"SET_TITLE" => "Y",
"ADD_ELEMENT_CHAIN" => "Y",
"PROPERTY_CODE" => array(
0 => "NAME", // включить свойство из инфоблока
),
),
false
);?>
Вывод изображений из свойств инфоблока
Вывести фото, которые находятся в свойствах элемента ИБ, не так уж и просто. В массиве данных детальной страницы мы увидим тольео ID фотографий, а не путь к этим файлам. Поэтому, в файле result_modifier.php необходимо обработать вывод этих фотографий.
В папке шаблона, в файле result_modifier.php делаем обход массива фотографий:
<?
foreach($arResult['PROPERTIES']["PHOTOS"]['VALUE'] as $id=>$photo)
{
$photo_small = CFile::ResizeImageGet($photo, array('width'=>200, 'height'=>200), BX_RESIZE_IMAGE_PROPORTIONAL, true);
$photo_original = CFile::ResizeImageGet($photo, array('width'=>800, 'height'=>800), BX_RESIZE_IMAGE_PROPORTIONAL, true);
$arResult['PHOTOS'][] = Array (
'original' => $photo_original['src'],
'small' => $photo_small['src'],
);
}
А в файле template.php уже выводим сами фото:
<?foreach($arResult['PHOTOS'] as $photo):?>
<div class="item">
<a href="<?=$photo['original']?>">
<img src="<?=$photo['small']?>">
</a>
</div>
<?endforeach?>
Степан
7 лет назадSadieff
7 лет назадНиколай
4 года назаддо этого посмотрел несколько говнохелпов
а у тебя все раскрыто