October 24th, 2012

Духless: книга и фильм

Пошла  вкинотеатр, чтобы посмотреть фильм. Ибо, если б не читала книгу - не обратила бы внимание на рекламный баннер. Собственно, мне очень понравился и фильм - не портит ни капельки книгу, и книга - она более полная, яркая, на контрастах.
Конечно, стёбный кадр про Супермена-Путина оценила, как и заметила небольшой ляп, даже подругу просила проверить при просмотре. Когда Макс подъезжает на своей бэхэ к клубу, то у него номера на машине (цифры я запамятовала, но назовём 777): м777ах, а когда отъезжает утром с сумкой денег из подворотни, то у него х777хх. Ляпчик. И мне не показалось.

  

В зале, когда начинался фильм, увидели зрители фамилию Фёдора Бурундучка, да и завопили как-то настроениями по поводу этой фамилии. Суть сего роптания мною не уловилась. А потом, когда фильм закончился. я стояла и слушала саунд-трек, да так заслушалась, что ко мне охранник уже подошел - успели и зрители рассосаться, и уборщицы весь попкорн собрать. А я слушала. Пришла домой и узнала, что это Вася Обломов ft. Паша Чехов - Ритмы Окон (OST Духless). Понравилось.

Вывод новостей раздела с подразделами: кастомизация bitrix:catalog.section.list и bitrix:news.list

Довелось прошерстить форумы битрикса на предмет вывода новостей с подразделами на странице. Ответила в ветке форума, вдруг кому пригодятся мои "костыли" или наведет на мысли.
Итак, используем компонент bitrix:catalog.section.list и все изменения выполняем в шаблоне (не дефолтном).
Внутрь шаблона засовываем код вызова компонента bitrix:news.list со своим шаблоном (можно дефолтный). Замечу, что примерно по такому же принципу строятся стандартные битриксовые комплексные компоненты.
В итоге получаем вот такие страсти:
002

И, разумеется, эти страсти не подойдут для большого количества разделов... Я в цикле всего лишь вызываю компонент ровно столько раз, сколько подразделов на странице.
Видно, что при уровне вложенности больше 2 начались уже косяки - все элементы отображаются и в разделе (где не надо), и в подразделе (как надо). Однако, для моей задачи проще сказать "нельзя", чем изобретать что-то другое. Поэтому ставлю уровень вложенности 1, убираю возможность показа количества элементов в разделе ("птичками" в настройках компонента) и получаю готовое решение своей задачи.
Так как разделов может быть много, и элементов в них, то надо как-то продумать переход по якорям.
Беру так же весь код от компонента bitrix:catalog.section.list и немножечко видоизменяю - дописываю якорь по имени элемента, а указатель делаю в виде ссылки-пробела:
004 содержание

Код шаблона для bitrix:catalog.section.list:

<div class="catalog-section-list">
<ul id="tab-of-cont">
<b>Быстрый переход по содержимому:</b><br>
<?
$CURRENT_DEPTH=$arResult["SECTION"]["DEPTH_LEVEL"]+1;
foreach($arResult["SECTIONS"] as $arSection):
$this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_EDIT"));
$this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_DELETE"), array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM')));
if($CURRENT_DEPTH<$arSection["DEPTH_LEVEL"])
echo "<ul style='list-style-type:none'>";
elseif($CURRENT_DEPTH>$arSection["DEPTH_LEVEL"])
echo str_repeat("</ul>", $CURRENT_DEPTH - $arSection["DEPTH_LEVEL"]);
$CURRENT_DEPTH = $arSection["DEPTH_LEVEL"];
?>
<li id="<?=$this->GetEditAreaId($arSection['ID']);?>"><a href='#<?=$arSection["NAME"]?>'><?=$arSection["NAME"]?></a></li>
<?endforeach?>
</ul>
<p><?=$arResult["SECTION"]["DESCRIPTION"]?></p>
<ul style='list-style-type:none; padding-top:0;'>
<?
$CURRENT_DEPTH=$arResult["SECTION"]["DEPTH_LEVEL"]+1;
foreach($arResult["SECTIONS"] as $arSection):
$this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_EDIT"));
$this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_DELETE"), array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM')));
if($CURRENT_DEPTH<$arSection["DEPTH_LEVEL"])
echo "<ul style='list-style-type:none'>";
elseif($CURRENT_DEPTH>$arSection["DEPTH_LEVEL"])
echo str_repeat("</ul>", $CURRENT_DEPTH - $arSection["DEPTH_LEVEL"]);
$CURRENT_DEPTH = $arSection["DEPTH_LEVEL"];
?>
<li id="<?=$this->GetEditAreaId($arSection['ID']);?>"><a name='<?=$arSection["NAME"]?>'>&nbsp;</a><span class="h3"><?=$arSection["NAME"]?></span></li>
<?/****************************************/?>
<?$APPLICATION->IncludeComponent("bitrix:news.list", "virtual-exhibitions", array(
"IBLOCK_TYPE" => "facult_res",
"IBLOCK_ID" => "607", // Iblock ID
"NEWS_COUNT" => "",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"FILTER_NAME" => "",
"FIELD_CODE" => array(
0 => "",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "url",
1 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "",
"AJAX_MODE" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "N",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => $arSection["ID"], // передаём ID родительского раздела
"PARENT_SECTION_CODE" => "",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"DISPLAY_DATE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"AJAX_OPTION_ADDITIONAL" => ""
),
false
);?>
<?/****************************************/?>
<?endforeach?>
</ul>
</div>