Знаю, что все их знают. Но иногда не бывает лишним собрать все самое используемое в одну кучку. Ведь у каждого бывают моменты тупости, когда забывается последовательность синтаксиса.
Собрал самые основные и часто используемые, в процессе создания сайтов на Битрикс буду дополнять список. Ведь "копировать-вставить" намного проще чем "вспомнить-поискать-порыться в документации-вставить".
В основном шаблоне:
<?$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()); ?>
Необходимо к переменной "DETAIL_TEXT" добавить данные из свойства карточки товара. любое свойство, которое есть в свойствах торгового каталога.
Заранее спасибо.
Хочу сделать описание в карточке товара что бы генерировалось для каждого товара и текст в описании брался из свойств инфоблока.
К примеру:
Купить #название_товара#, самый лучший товар #код_свойства# формы, имеер размеры #код_свойства#, и обладает преимуществами #код_свойства#.
Спасибо.

Цитата |
---|
Web_D написал: Приветствую. Подскажи пожалуйста. Хочу сделать описание в карточке товара что бы генерировалось для каждого товара и текст в описании брался из свойств инфоблока. К примеру: Купить #название_товара#, самый лучший товар #код_свойства# формы, имеер размеры #код_свойства#, и обладает преимуществами #код_свойства#. Спасибо. |
Можно сгененировать эту строку в настройках инфоблока, как описание карточки товара (на вкладке SEO)
А в самом шаблоне вывести:
Код |
---|
<?= $arResult['META_DESCRIPTION']?> |
Для полного фен шуя, можно проверять наличие нормального описания, если его нет- выводить сгенерированное.
Код |
---|
<?if (!empty($arResult['DETAIL_TEXT'])){ echo $arResult['DETAIL_TEXT']; }else{ echo $arResult['META_DESCRIPTION']; } ?> |

Цитата |
---|
Денис написал: Добрый день! Подскажите пожалуйста, как можно реализовать вывод из одного раздела детальных страниц но с разными шаблонами? |
Думаю, только через свойство элемента. Задать что-то типа "Вариант шаблона" со списком 1, 2, 3 и так далее
Проверять что выбрано в element.php и включать нужный шаблон.

Цитата | ||
---|---|---|
Проверять что выбрано в element.php и включать нужный шаблон. |
Тут такая задачка подвернулась.
Готовый код для element.php комплексного каталога
Код |
---|
// Вариант шаблона из свойсва карточки $elProps = CIBlockElement::GetList ( false, Array( 'IBLOCK_ID' => $arParams['IBLOCK_ID'], 'CODE' => $arResult['VARIABLES']['ELEMENT_CODE']), false, false, Array( 'ID', 'PROPERTY_VARIANT_VIDA_KARTOCHKI' ) ); while($elProp = $elProps->Fetch()) { $varTemplate = $elProp['PROPERTY_VARIANT_VIDA_KARTOCHKI_VALUE']; } if(!$varTemplate) { $template = '.default'; } if($varTemplate == 1) { $template = 'var_1'; } if($varTemplate == 2) { $template = 'var_2'; } // end Вариант шаблона из свойства карточки $elementId = $APPLICATION->IncludeComponent( 'bitrix:catalog.element', $template, // включаем нужный шаблон $componentElementParams, $component ); $GLOBALS['CATALOG_CURRENT_ELEMENT_ID'] = $elementId; |
- В свойстве VARIANT_VIDA_KARTOCHKI список с вариантами шаблона (просто 1 и 2).
- Получаем VALUE этого свойства.
- В $template передаем нужный шаблон.
- Применяем в bitrix:catalog.element

Цитата |
---|
Гость написал: Добрый вечер. Возможно ли сделать выборку шаблона детальной страницы но на компоненте новостей ? |
Да, точно также: через свойство новости, но применяете в комплексном шаблоне новостей, в файле detail.php