Для div'a галереи в детальном просмотре новости нужно устанавливать значение аттрибута data-count из свойства "Сколько фото ставить в ряд?" (MORE_PHOTO_COUNT).
В параметрах компонента в Настройках детального просмотра в поле "Свойства" выбрал это свойство, но мне не нужно, чтобы оно отображалось на странице детального просмотра новости.
"DETAIL_PROPERTY_CODE" => array(
0 => "ASSIGNMENT",
1 => "SOLUTION",
2 => "SERVICES",
3 => "MORE_PHOTO_COUNT",
4 => "",
),
Код вывода свойств такой:
<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<b><?=$arProperty["NAME"]?></b>:
<?if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?=implode(" / ", $arProperty["DISPLAY_VALUE"]);?>
<?else:?>
<?=$arProperty["DISPLAY_VALUE"];?>
<?endif?>
<br />
<?endforeach?>
Помимо этого свойства есть 3 других, и они должны отображаться. .
Как это сделать правильно?
В файле template.php код подстановки значения для аттрибута data-count такой
<div class="gallery" data-count="<?echo $arResult['DISPLAY_PROPERTIES']['MORE_PHOTO_COUNT']['DISPLAY_VALUE'];?>">
<?
if(count($arResult["MORE_PHOTO"])>0):?>
<?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
<a class="fancybox" data-rel="group" href="<?=$PHOTO["SRC"]?>" title="</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; color: black;"><?=$arResult["NAME"]?>"><img alt="</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; color: black;"><?=$arResult["NAME"]?>" src="<?=$PHOTO["SRC"]?>" title="</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; color: black;"><?=$arResult["NAME"]?>"></a>
<?endforeach?>
<?endif?>
</div>
Также добавил файл result_modifier.php, в нем такой код:
<?
$APPLICATION->SetTitle("");
?><?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arResult["MORE_PHOTO"] = array();
if(isset($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"]))
{
foreach($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE)
{
$FILE = CFile::GetFileArray($FILE);
if(is_array($FILE))
$arResult["MORE_PHOTO"][]=$FILE;
}
}
?>
В параметрах компонента в Настройках детального просмотра в поле "Свойства" выбрал это свойство, но мне не нужно, чтобы оно отображалось на странице детального просмотра новости.
"DETAIL_PROPERTY_CODE" => array(
0 => "ASSIGNMENT",
1 => "SOLUTION",
2 => "SERVICES",
3 => "MORE_PHOTO_COUNT",
4 => "",
),
Код вывода свойств такой:
<?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<b><?=$arProperty["NAME"]?></b>:
<?if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?=implode(" / ", $arProperty["DISPLAY_VALUE"]);?>
<?else:?>
<?=$arProperty["DISPLAY_VALUE"];?>
<?endif?>
<br />
<?endforeach?>
Помимо этого свойства есть 3 других, и они должны отображаться. .
Как это сделать правильно?
В файле template.php код подстановки значения для аттрибута data-count такой
<div class="gallery" data-count="<?echo $arResult['DISPLAY_PROPERTIES']['MORE_PHOTO_COUNT']['DISPLAY_VALUE'];?>">
<?
if(count($arResult["MORE_PHOTO"])>0):?>
<?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
<a class="fancybox" data-rel="group" href="<?=$PHOTO["SRC"]?>" title="</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; color: black;"><?=$arResult["NAME"]?>"><img alt="</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; color: black;"><?=$arResult["NAME"]?>" src="<?=$PHOTO["SRC"]?>" title="</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; color: black;"><?=$arResult["NAME"]?>"></a>
<?endforeach?>
<?endif?>
</div>
Также добавил файл result_modifier.php, в нем такой код:
<?
$APPLICATION->SetTitle("");
?><?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arResult["MORE_PHOTO"] = array();
if(isset($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"]) && is_array($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"]))
{
foreach($arResult["PROPERTIES"]["MORE_PHOTO"]["VALUE"] as $FILE)
{
$FILE = CFile::GetFileArray($FILE);
if(is_array($FILE))
$arResult["MORE_PHOTO"][]=$FILE;
}
}
?>