Кто ни будь делал трехмерное облако тегов? Подскажите ссылку плиз.
|
Отображение анонсов статей только по определенной теме
Сделал меню из тем ("IBLOCK_TYPE" => "services", "IBLOCK_ID" => "1") Нажимаю на пункт меню (определенная тема), как и положено, выводятся анонсы новостей именно те, которые прикреплены к этой теме, т.е. все правильно работает. Вывод этих анонсов новостей осуществляется с помощью компонента bitrix:news-bitrix:news.list Нужно, что бы под этими новостными анонсами выводились анонсы статей, которые так же прикреплены к этой теме. Попробовал ниже установить компонент bitrix:news.list Анонсы статей выводятся, но все подряд, а не именно по выбранной теме. Подскажите, как и что сделать, что бы анонсы Статей отображались только по выбранной теме? Заранее спасибо. |
|
|
|
|
|
Разделы инфоблока на Карте сайта отображаются на одном уровне.
Карта сайта работает, за одним исключением, Разделы инфоблока на Карте сайта отображаются на одном уровне (не древовидно, как остальная информация). echo "<pre>"; print_r($arResult["arMap"]); echo "</pre>"; показывает, что у всех Разделов инфоблоков [LEVEL] => 1 Подскажите, кто сталкивался с этой засадой, где и что править. Заранее спасибо. |
|
|
|
|
|
Как сделал:
часть кода в файле: \news.list\.default\template.php который отвечает за вывод тем под анонсами новостей: <?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> <br /><small> <?=$arProperty["NAME"]?>: <?if(is_array($arProperty["DISPLAY_VALUE"])):?> <?=implode(" <br>Темы: ", $arProperty["DISPLAY_VALUE"]);?> <?else:?> <?=$arProperty["DISPLAY_VALUE"];?> <?endif?> </small><br /> <?endforeach;?> заменил на: <?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> <small><br /> <?if(is_array($arProperty["DISPLAY_VALUE"])):?> <? $numThemes = count($arProperty["VALUE"]); for ($i = 0; $i < $numThemes; $i++) { $ar1SectionFilter["ID"] = $arProperty["VALUE"][$i]; $rs1Section = CIBlockSection::GetList(Array(), $ar1SectionFilter); if($ar1Section = $rs1Section->GetNext()) { echo "
}?> <?else:?> <? $arSectionFilter["ID"] = $arProperty["VALUE"]; $rsSection = CIBlockSection::GetList(Array(), $arSectionFilter); if($arSection = $rsSection->GetNext()) { echo "
<?endif?> </small><br /> <?endforeach;?> Подозреваю, что мой код далек от совершенства, поэтому если у кого то будет возможность предложить свой вариант кода, буду рад ![]() |
|||
|
|
|
|
Какой программой лучше пользоваться, для сопровождения / редактирования / верстки / кодинга ?
Я пользуюсь Macromedia Dreamweaver, но м.б. посоветуете с обоснованием другую программу? А вообще, на сайте «1С-Битрикс» проводился опрос, какими программами пользуется народ по работе с «1С-Битрикс»? Если проводился, то напишите ссылку плз. На данный опрос Или напишите ссылку на обсуждение «какая прога лучше?». |
|
|
|
|
|
Как сделал, если кто то столкнется с данной задачей:
1. В расширенном режиме редактирования меню: Тип условия: Для групп пользователей Условие: Администраторы Этим самым мы сделали, что бы пункт меню показывался только администраторам. 2. Там же в расширенном режиме редактирования меню: Параметры: Название: ColorAdm Значение: Y во всех необходимых пунктах меню далее: в файле шаблона меню, при выводе пункта меню добавляем условие: <?if ($arItem["PERMISSION"] > "D"):?> [*] <div class="page"></div> <div class="<?if ($arItem[PARAMS][ColorAdm]=="Y"):?>item-text-coloradm<?else:?><?if ($arItem["SELECTED"]):?>item-text-selected<?else:?>item-text<?endif?><?endif?>">[url=<?=$arItem[]"><?=$arItem["TEXT"]?>[/url]</div> <div class="menu-sep"><img src="images/e.gif" width="1" height="2" border="0"></div> <?endif?> красным цветом выделил добавленный код, и обязательно в стилях (файл style.css) добавляем стиль item-text-coloradm ИТОГ: У нас появились пункты меню, которые выводятся только для администраторов, и эти пункты имеют другой цвет-стиль. Что и требовалось. Можно считать тему закрытой. |
|
|
|
|
|
Ситуация:
При Редактировании параметров компонента (компонент: bitrix.news), Настройки списка > Свойства Добавил THEMES, и снизу у анонсах новостей стало показывать Темы, к которым прикреплена новость: 28.12.2009 Зоголовок Новости 01. Зоголовок Новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01. Анонс новости 01.... Темы: ПодПодтема 1.1.2 Темы: ПодПодтема 1.2.2 Темы: ПодПодтема 1.2.3 Т.е. новость м.б. прикреплена более чем к одной теме. И посетителю лучше ориентироваться в контенте, если он сразу это видит. Но дело в том, что «дерево» тем выглядит так: Тема 1 Подтема 1.1 ПодПодтема 1.1.1 ПодПодтема 1.1.2 Подтема 1.2 ПодПодтема 1.2.1 ПодПодтема 1.2.2 ПодПодтема 1.2.3 Подтема 1.3 Тема 2 Подтема 2.1 ПодПодтема 2.1.1 ПодПодтема 2.1.2 Подтема 2.2 Тема 3 Т.е. нужно, что бы темы выводились всей цепочкой тем: Темы: Тема1 > Подтема 1.1 > ПодПодтема 1.1.2 Темы: Тема1 > Подтема 1.2 > ПодПодтема 1.2.2 Темы: Тема1 > Подтема 1.2 > ПодПодтема 1.2.3 Я решил использовать для этого «навигационную цепочку», и изначальный код в файле: \news.list\.default\template.php который отвечает за вывод тем в анонсе новостей: <?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> <small> <?=$arProperty["NAME"]?>: <?if(is_array($arProperty["DISPLAY_VALUE"])):?> <?=implode(" / ", $arProperty["DISPLAY_VALUE"]);?> <?else:?> <?=$arProperty["DISPLAY_VALUE"];?> <?endif?> </small><br /> <?endforeach;?> Заменил/исправил на: <?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?> <small><br /> <?=$arProperty["NAME"]?>: <?if(is_array($arProperty["VALUE"])):?> <? $arSectionFilter["ID"] = $arProperty["VALUE"]; $rsSection = CIBlockSection::GetList(Array(), $arSectionFilter); if($arSection = $rsSection->GetNext()) { $rsPath = GetIBlockSectionPath($arSection["IBLOCK_ID"], $arSection["ID"]); while($arPath = $rsPath->GetNext()) { $APPLICATION->AddChainItem($arPath["NAME"], $arPath["SECTION_PAGE_URL"]); } }?> <?else:?> <? $arSectionFilter["ID"] = $arProperty["VALUE"]; $rsSection = CIBlockSection::GetList(Array(), $arSectionFilter); if($arSection = $rsSection->GetNext()) { $rsPath = GetIBlockSectionPath($arSection["IBLOCK_ID"], $arSection["ID"]); while($arPath = $rsPath->GetNext()) { $APPLICATION->AddChainItem($arPath["NAME"], $arPath["SECTION_PAGE_URL"]); } }?> <?endif?> </small><br /> <?endforeach;?> Вишневым цветом, то что я исправил/заменил. Код работает, но «отправляет» все в существующую «навигационную цепочку» Вопрос: Как мне изменить часть кода: $APPLICATION->AddChainItem Я его выделил красным, что бы результат не «отправлялся» наверх в существующую навигационную цепочку, а оставался снизу анонса новости? Заранее спасибо, И если выскажете свое решение, данной задачи, буду благодарен. |
|
|
|
|
|
Boss IT
я понял ход Ваших мыслей, если ее нет, то м.б. она просто не задана в "Типах информ. блока"? И действительно, по своей не опытности, я не задал URL страницы раздела:, прописал: /content/news/index.php?SECTION_ID=#SECTION_ID# (Панель управления > Информ. блоки > Типы информ. блоков > Сервисы > Темы - Изменить) И все пошло, ссылки появились в навигационной цепочке. В итоге код следующий:
Boss IT, еще раз ОГРОМНОЕ спасибо! Если у кого то возникнут вопросы, пишите в личку, вроде я в этом вопросе разобрался, покрайней мере мне так сейчас кажется. Тему можно считать закрытой. |
|||
|
|
|
|
Как сделать отличный стиль(подсветку) пунктов меню, которые только для администраторов?
Видимо нужно сделать условие в шаблоне меню: template.php Часть кода:
Т.е. точно так же как идет проверка на подсветку: <?if ($arItem["SELECTED"]):?>item-text-selected<?else:?>item-text<?endif?> Но какой параметр $arItem["????????"] проверять, что посетитель это администратор? Спасибо кто откликнется. |
|||
|
|
|
|
Ура! заработало!
Boss IT, ОГРОМНОЕ спасибо!!! Навигационная цепочка сейчас выводится как надо! Если не сложно, извиняюсь за наглость, а как возможно сделать что бы ссылки так же были в этой цепочке, сейчас: Главная > 1.Красная тема > 1.1 Под-Красная тема > 1.1.1 Под Красная тема Т.е. ссылка только на первом пункте (Главная), а остальные пункты только название. |
|
|
|
|
|
Boss IT
написал данный код: вывело: Array ( [clear_cache] => Y [SECTION_ID] => 72 ) Значит все таки SECTION_ID присваивается 72 Тогда у меня не хватает опыта, что бы разобраться с этим. На всякий случай привожу еще раз код в файле \1C-Bitrix-94\bitrix\templates\ABR-VASRF-04\components\bitrix\news\news.041\bitrix\news.list\.default\template.php
М.б. еще какие то уточнения нужны? |
|||
|
|
|
|
Принудительно присвоил переменной $SECTION_ID значение 72:
действительно - отобразилась вся цепочка как надо !!! Правда без URL-ов, но это дело наживное. Буду рад если подскажете как
Заранее спасибо. |
|||||
|
|
|
|
Boss IT,
Вы пишете
и я предполагал, что данный номер "72" и передается переменной $SECTION_ID, но данной переменной почему то присваивается номер "1" Подскажите пожалуйста как изменить код в файле \bitrix\news.list\.default\template.php:
что бы переменной $SECTION_ID присваивалось значение 72 Заранее спасибо. |
|||||
|
|
|