Решил, поменяв DISPLAY_PROPERTIES и DISPLAY_VALUE на PROPERTIES и VALUE в шаблоне компонента.
16.02.2016 14:02:11
Здравствуйте.
Нужно вывести данные из свойства типа "Справочник" (название услуги и ссылку, которая ведет с этого названия) на странице детального просмотра новости. Сейчас имеется свойство типа "Список", оно корректно отображается вот так: Код вывода свойств в шаблоне детального просмотра новости такой:<?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?> Но он не позволяет отобразить вновь созданное поле со свойством типа "Справочник". Причем остальные поля тоже пропадают, если это свойство активно. Помогите, пожалуйста, решить задачу. Возможно я ошибаюсь относительно "Справочника" и стоит попробовать другой тип. Какой тип решит мою задачу и как решить вопрос с кодом в иных случаях? Спасибо. |
|
|
16.02.2016 13:57:13
Для 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; } } ?> |
|
|
15.02.2016 12:06:03
Здравствуйте. Небольшая дружная команда ищет талантливого, ответственного и внимательного веб-разработчика с опытом решения задач, связанных с сайтами на CMS 1C-Bitrix.
Мы: • создаем современные, удобные коммерческие сайты и продвигаем их; • совместно, на равных обсуждаем и решаем задачи, ждем друг от друга инициативности, ценим свой труд и время; • cидим в уютном офисе рядом с м. Ладожская. Вы будете помогать нам: • натягивать готовую верстку на CMS; • править чужой код и верстку; • писать свой чистый, эффективный код и создавать верстку, руководствуясь прогрессивными принципами веб-дизайна; • настраивать CMS, делая ее удобной для наполнения сайта и изменения его элементов контент-менеджером; • доводить до ума типовые компоненты, использовать сторонние решения; • реализовывать функционал динамических элементов сайта различной сложности (формы отправки, попапы, виджеты, калькуляторы, карты и т.п.); • разбираться в чужом коде (не всегда очевидном) и повторять решения, реализованные на наших старых сайтах, для новых сайтов; • продумывать и предлагать оптимальные варианты решения задач. Мы готовы сотрудничать на ваших условиях по графику и оплате. Мы ожидаем, что вы, откликаясь на это объявление: • настроены на длительное сотрудничество; • расскажете о 2-3 проектах, где вы успешно решили интересные, нестандартные задачи для проектов на базе CMS 1c-Bitrix. При этом в рамках рабочего процесса вы: • обсуждаете с коллегами дни и время, когда вы готовы решать задачи и следуете своему графику; • доступны в сети в будние дни в рабочее время офиса (с 10 до 19 часов) для решения нечастых срочных задач; • адекватно оцениваете сроки решения своих задач, ставите коллег в известность о них, соблюдаете их, оперативно сообщаете о выполненных этапах в системе постановки задач; • внимательно относитесь к поставленным задачам, задаете точные вопросы по задачам, доступно объясняете свои действия и причины возникших проблем коллегам при необходимости; • возникшие вопросы обсуждаете в будние дни в рабочее время офиса. Предпочтение будет отдано кандидату из Санкт-Петербурга, готовому провести с нами в офисе как минимум неделю. Дальнейшее присутствие на ваше усмотрение. Возможно, мы попросим вас выполнить тестовое задание. Будем рады ответить на ваши вопросы по почте |
|
|