Основные функции вывода в шаблонах Битрикс

83768  |  50

Собрал самые основные и часто используемые, в процессе создания сайтов на Битрикс буду дополнять список. Ведь "копировать-вставить" намного проще чем "вспомнить-поискать-порыться в документации-вставить".

В основном шаблоне:

<?$APPLICATION->ShowTitle()?> - собственно вывод тайтла в основном шаблоне сайта

<?$APPLICATION->ShowHead()?> - подключение для вывода в шаблоне сайта основных полей тега : мета-теги Content-Type, robots, keywords, description; стили CSS; скрипты

<?$APPLICATION->ShowPanel();?> - выводит панель управления администратора

<?=SITE_TEMPLATE_PATH?> - подставляет путь к шаблону

<?$APPLICATION->ShowTitle(false);?> - заголовок (в h1 например использовать)

ShowHead разбить на составляющие:

<meta http-equiv="Content-Type" content="text/html; charset=<?=LANG_CHARSET;?>" /> - Установка кодировки сайта

<? $APPLICATION->ShowMeta("keywords") ?> - Вывод мета тега keywords

<? $APPLICATION->ShowMeta("description") ?> - Вывод мета тега description

<? $APPLICATION->ShowCSS(); ?> - Подключение основных файлов стилей template_styles.css и styles.css

<? $APPLICATION->ShowHeadStrings() ?> - Отображает специальные стили, JavaScript

<? $APPLICATION->ShowHeadScripts() ?> - Вывода служебных скриптов


В шаблонах компонентов:

<img src="<?=$arSection["PICTURE"]["SRC"]?>" title="<?=$arSection["NAME"]?>" border="0"/> - картинка раздела инфоблока.

<?=$arSection["DESCRIPTION"]?> - описание раздела инфоблока

<?echo $arItem["NAME"]?> - название

<?echo $arItem["DETAIL_PAGE_URL"]?> - ссылка на детальную новость (статью)

<?echo $arItem["PREVIEW_TEXT"];?> - текст анонса

<?echo $arResult["DETAIL_TEXT"];?> - детальный текст

<?=$arItem["PREVIEW_PICTURE"]["SRC"]?> - изображение анонса

<?=$arItem["DETAIL_PICTURE"]["SRC"]?> - изображение детальное

<?=$arResult['DISPLAY_ACTIVE_FROM']?> - дата начала активности

<?=$arItem['DATE_CREATE']?> - Дата создания элемента инфолока

Полезные условия

Если картинки нет- то вывести "нет картинки"

<?if (strlen($arItem["DETAIL_PICTURE"]["SRC"])>0):?>
      <img src="<?=$arItem["DETAIL_PICTURE"]["SRC"]?>"/>
<?else:?>
       нет картинки
<?endif?>

Включаемая область в режиме php.

<?
        $APPLICATION->IncludeFile(
        SITE_DIR."include/flash.php",
        Array(),
        Array("MODE"=>"php")
       );
?>

Количество товара на складе в списке товаров:

<?
          $ar_res = CCatalogProduct::GetByID($arElement['ID']);
          echo "<br>На складе: ";
          print_r($ar_res['QUANTITY']);
          echo " шт.";
?>

В подробной карточке товара, с подменой цифрового значения на выражение:

<?
$quantity= $arElement[CATALOG_QUANTITY];
if (!$quantity){?>нет<?}
if ($quantity!=0 && $quantity<=10){?>мало<?}
if ($quantity!=0 && $quantity>10 && $quantity<=100){?>достаточно<?}
if ($quantity>100){?>много
<?}?><?=$arResult[CATALOG_QUANTITY];?>

Вывести название раздела внутри элемента. Например в детальной новости, указать к какому из разделов она относится:

 <?echo $arResult["SECTION"]["PATH"][0]["NAME"]?>

Вывести меню нужного типа в шаблоне битрикс

 <?
$APPLICATION->IncludeComponent("bitrix:menu", "top_menu", array(
"ROOT_MENU_TYPE" => "top",  
//В данном случаее меню типа top
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(
),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "N",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "N"
),
false
);
?>

Подключение веб мессенджера в шаблоне сайта

<?$APPLICATION->IncludeComponent("bitrix:im.messenger", "", Array(), null, array("HIDE_ICONS" => "N"));?>

Вывести текст описания свойства инфоблока. Например, в форме добавления/редактирования элемента инфоблока для пользователей:

<?=$arResult["PROPERTY_LIST_FULL"][$propertyID]["HINT"]?>

Вывести текущую дату из установленной на сервере

<? echo date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()); ?>

Расскажи друзьям-то:
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей
Зарегистрироваться Войти Напомнить пароль
Или войти через социальную сеть:
Алекс
А как сайт-нэйм прописать в шаблон?
доменное имя
Михаил Базаров
Цитата
Алекс пишет:
А как сайт-нэйм прописать в шаблон?
доменное имя
SITE_SERVER_NAME -думаю можно использовать. Вызвать его через API
Михаил Базаров
Гость сайта
Объясните про Отображаемые счетчики, так как инфы про это найти невозможно( В настройке модуля - "поисковая оптимизация" я вставляю коды счетчиков. Но в исходном коде страниц их нет, код я просматриваю выйдя из режима администратора. Как правильно использовать модуль - "поисковая оптимизация"
Михаил Базаров
Цитата
Гость сайта пишет:
Объясните про Отображаемые счетчики, так как инфы про это найти невозможно( В настройке модуля - "поисковая оптимизация" я вставляю коды счетчиков. Но в исходном коде страниц их нет, код я просматриваю выйдя из режима администратора. Как правильно использовать модуль - "поисковая оптимизация"
О поисковой оптимизации вполне понятно рассказал вот тут: http://camouf.ru/blog-note/bx_site_created/13.html и тут http://camouf.ru/blog-note/bx_site_created/14.html , если появляются вопросы, желательно задавать их в комментариях к этим видеозаписям.
Гость сайта
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Объясните про Отображаемые счетчики, так как инфы про это найти невозможно( В настройке модуля - "поисковая оптимизация" я вставляю коды счетчиков. Но в исходном коде страниц их нет, код я просматриваю выйдя из режима администратора. Как правильно использовать модуль - "поисковая оптимизация"
О поисковой оптимизации вполне понятно рассказал вот тут: http://camouf.ru/blog-note/bx_site_created/13.html и тут http://camouf.ru/blog-note/bx_site_created/14.html , если появляются вопросы, желательно задавать их в комментариях к этим видеозаписям.
))) Да яж не про то спрашиваю) а про - про Отображаемые счетчики и про - В настройке модуля - "поисковая оптимизация" я вставляю коды счетчиков. Но в исходном коде страниц их нет, код я просматриваю выйдя из режима администратора. Как правильно использовать модуль - "поисковая оптимизация"
Михаил Базаров
Цитата
Гость сайта пишет:
Цитата
))) Да яж не про то спрашиваю) а про - про Отображаемые счетчики и про - В настройке модуля - "поисковая оптимизация" я вставляю коды счетчиков. Но в исходном коде страниц их нет, код я просматриваю выйдя из режима администратора. Как правильно использовать модуль - "поисковая оптимизация"
Да, видимо я не понимаю где Вы умудряетесь вставить коды счетчика. Вот тут?:





Этот раздел предназначен для базовой поисковой оптимизации сайта. Регистрируетесь в Яндексе и Гугле. Потом уже через админку сайта добавляете сайт в эти поисковые системы на свои учетки.


Если Вы имете ввиду старую версию битрикса, когда раздел SEO назывался "Поисковая оптимизация", то эти счетчики на сайте не отобразятся. Они только для внутренней статистики (в админке сайта-раздел Веб Аналитика) там и переходы, и хиты и хосты и внешние ссылки- все покажет.
Если прямо сильно хочется вывести счетчик на сайт- то Компоненты- Служебные- Статистика- и вытягиваете в нужно место компонент "Таблица статистики"
Сергей
Куда нужно вставить код на форму SmartResponder (рассылка писем) ?
1. В Index.html?
2. Или её можно вывести с помощью специальной функции?
Михаил Базаров
Цитата
Сергей пишет:
Куда нужно вставить код на форму SmartResponder (рассылка писем) ?
1. В Index.html?
2. Или её можно вывести с помощью специальной функции?
Этот вопрос лучше задать поддержке SmartResponder-а. Ни разу этой дребеденью не пользовался.
Если вам дали некий кусок кода то вставляете в нужном месте шаблона и все. Или прямо в страницу сайта, в режиме редактирования кода.
Денис
Цитата
Сергей пишет:
Куда нужно вставить код на форму SmartResponder (рассылка писем) ?
1. В Index.html?
2. Или её можно вывести с помощью специальной функции?
Можно вставить в header.php, в то место где хотите его увидеть.
Дмитрий
Михаил, посдскажите как вывести Название раздела или подраздела инфоблока в виде текста.
А так же символьный код раздела тоже в виде текста.


Заранее благодарен за ответ!
Михаил Базаров
Цитата
Дмитрий пишет:
Михаил, посдскажите как вывести Название раздела или подраздела инфоблока в виде текста.
А так же символьный код раздела тоже в виде текста.
Название раздела <?=$arSection["NAME"]?>
Символьный код раздела #SECTION_CODE#
Гость сайта
Цитата
Михаил Базаров пишет:
Цитата
Дмитрий пишет:
Михаил, посдскажите как вывести Название раздела или подраздела инфоблока в виде текста.
А так же символьный код раздела тоже в виде текста.
Название раздела <?=$arSection["NAME"]?>
Символьный код раздела #SECTION_CODE#
Я имел в виду вывести one-room текущего элемента
http://hostingkartinok.com/show-image.php?id=fe6c2a960bdd9396f281f8e57d25674f
Михаил Базаров
Цитата
Гость сайта пишет:
Я имел в виду вывести one-room текущего элемента
То есть хотите символьный код вывести прямо на сайт? Затрудняюсь сходу сказать, ни разу такое в голову не приходило и как-то сомневаюсь что хоть однажды пригодится. По идее нужно сделать запрос через API битрикс и вызвать его в нужном месте.
Дмитрий
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Я имел в виду вывести one-room текущего элемента
То есть хотите символьный код вывести прямо на сайт? Затрудняюсь сходу сказать, ни разу такое в голову не приходило и как-то сомневаюсь что хоть однажды пригодится. По идее нужно сделать запрос через API битрикс и вызвать его в нужном месте.
Да именно на сайт, но не в публичную часть.
Хочу использовать как класс css.
Михаил Базаров
Цитата
Дмитрий пишет:
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Я имел в виду вывести one-room текущего элемента
То есть хотите символьный код вывести прямо на сайт? Затрудняюсь сходу сказать, ни разу такое в голову не приходило и как-то сомневаюсь что хоть однажды пригодится. По идее нужно сделать запрос через API битрикс и вызвать его в нужном месте.
Да именно на сайт, но не в публичную часть.
Хочу использовать как класс css.
Уже просто интересно: а зачем? То есть вообще не могу представить зачем это может быть нужно. То есть потом каждому из них хотите назначать свой стиль оформления? А если товаров 1000.
Дмитрий
Цитата
Михаил Базаров пишет:
Цитата
Дмитрий пишет:
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Я имел в виду вывести one-room текущего элемента
То есть хотите символьный код вывести прямо на сайт? Затрудняюсь сходу сказать, ни разу такое в голову не приходило и как-то сомневаюсь что хоть однажды пригодится. По идее нужно сделать запрос через API битрикс и вызвать его в нужном месте.
Да именно на сайт, но не в публичную часть.
Хочу использовать как класс css.
Уже просто интересно: а зачем? То есть вообще не могу представить зачем это может быть нужно. То есть потом каждому из них хотите назначать свой стиль оформления? А если товаров 1000.
Ну почти так. Символьный код раздела может быть только уникальным. По-этому если элемент находиться в разделе ему необходимо применить свой. 1000 элементов не будет ни когда. Сфера не та...

А есть другие решения !?

Я конечно думал, можно еще сделать отдельным свойством, так тоже работать будет - но зачем когда есть раздел в котором находиться элемент.

А Вы не можете сделать код который надо вставить в шаблон!?

Я не понимаю API Битрикс. А сколько стоят курсы для того чтобы понимать в Вашем исполнении !? И какие первичные знания будут нужны !?
Михаил Базаров
Сделайте проще, вставьте в начале цикла

Код
<? 
  $step=0;  
  $step++;
?>
 
А к стилю каждого раздела

Код
<div class="razdel<? {echo $step;}?>"> Бла бла бла вся требуха раздела </div>
      
 
В итоге у всех разделов, друг за другом будут селекторы
.razdel1 {}
.razdel2 {}
.razdel3 {}
.razdel4 {}
...итд
и соответсвенно каждому свое оформление


Еще есть способ с нумерацией элемента вида
.razdel:nth-child (1) {}
.razdel:nth-child (2) {}
.razdel:nth-child (3) {}
.razdel:nth-child (4) {}
...итд

Если я вообще правильно понял суть задачи.
Дмитрий
Вот страница http://themeforest.net/item/realocation-modern-real-estate-template/full_screen_preview/7112897
Мне нравиться сам эффект фильтрации, учитывая, что у нас элементов не много.

Там фильтруется по классу.
Сам фильтр я сделаю вручную, количество разделов исчерпывающие, список закрыт.
Всего 4 раздела.

Можно сделать и добавить свойство список в нем четыре позиции, но зачем (!) если уже элемент в разделе, можно вытащить символьный код он и будет классом, класс не будет меняться.
Ivan
<?$APPLICATION->ShowCSS();?> как выводить стили с названием сайта
щас: /bitrix/templates/main/styles.css
надо: сайт.ру/bitrix/templates/main/styles.css
Страницы: 1 2 3 След.

© 2011—2016 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.
Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой. Политика конфеденциальности
x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения: