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

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

Знаю, что все их знают. Но иногда не бывает лишним собрать все самое используемое в одну кучку. Ведь у каждого бывают моменты тупости когда забывается последовательность синтаксиса. For you.
Ответить
Ответы
 
Михаил Базаров,  можешь подсказать как ты реализовал "Избранное" на этом сайте - http://www.bananasport.ru/
 
Здравствуйте, у меня вопрос, мне нужно вывести простой текст на главную страницу сайта на битрикс, как я это могу сделать? Просто у вас видеоуроки на ютуб достаточно длинные. и не совсем понятно, какое видео мне просмотреть для решения именно этой задачи.
 
Цитата
Николай написал:
Здравствуйте, у меня вопрос, мне нужно вывести простой текст на главную страницу сайта на битрикс, как я это могу сделать? Просто у вас видеоуроки на ютуб достаточно длинные. и не совсем понятно, какое видео мне просмотреть для решения именно этой задачи.
Просто вставляете текст в index.php который в корне сайта, это и есть главная страница
 
Добрый день! Ковыряем купленный шаблон мобильной версии, и не можем найти описание раздела. В десктопной-то оно есть, на любой странице каталога (категории товаров) идёт описание. А вот в мобильной его нету. Пробовали запихивать в шаблон <?=$arResult['DESCRIPTION']?> - кэш чистили, не работает, в чём может быть проблема?..
 
Цитата
Павел Лемак написал:
Добрый день! Ковыряем купленный шаблон мобильной версии, и не можем найти описание раздела. В десктопной-то оно есть, на любой странице каталога (категории товаров) идёт описание. А вот в мобильной его нету. Пробовали запихивать в шаблон <?=$arResult['DESCRIPTION']?> - кэш чистили, не работает, в чём может быть проблема?..
Может быть в верстке? Как то стилями перекрывается описание (например, каким-то образом попадает в display:none), посмотрите: есть ли текст описания в исходном коде
 
Михаил Базаров, в исходном коде, увы, нет, не нашёл. Сайт www.promart.by. Например, на странице http://promart.by/catalog/rozetki/viko_carmen/ вверху и внизу есть описание, а вот почему его нет в мобильном шаблоне, так и не разобрались, - хотя функция description в мобильном есть и, например, при изменении страницы - описание тоже есть, но только разве что в редакторе.
 
Михаил Базаров, Здравствуйте Михаил, не понятно как смог сделать, но на сайт не отображается header и footer. Практически только контент отображается, без стили без ничего. Сможете расказат как поправит сайт. Тоже бекап нет. Есть ли функция вернут в сайт в определено положение по времени ? Вот и самом сайт idinarog.ru
 
Так не подскажу, нужно смотреть сайт изнутри. Но если есть бекап, просто разверните его на своем компьютере и посмотрите- если он актуальный- можно попробовать развернуть на живую
Если отстал по времени, перенисите с поломанного в него, не достающие части, снова заархивируейте и разверните на боевом

В общем, тяжело подсказать
 
Цитата
Михаил Базаров пишет:
Так не подскажу, нужно смотреть сайт изнутри. Но если есть бекап, просто разверните его на своем компьютере и посмотрите- если он актуальный- можно попробовать развернуть на живую
Если отстал по времени, перенисите с поломанного в него, не достающие части, снова заархивируейте и разверните на боевом

В общем, тяжело подсказать
Здравствуйте Михаил, есть нов бекап которой хотелось бы загружать на сайта, проблем что не отображается хедър и поэтому все стили в него не подключается. Архив нету пока что вывести ошибка в строке на файл бекап.php Как могу развернуть в живую, спасибо заранее .
 
хочу сделать разную разметку на некоторых страницах сайта. к примру на главной и в каталоге хочу .col-md-12, а на остальных .col-md-8+col-md-4.
но никак не получается.
<?if($APPLICATION->GetCurDir()==SITE_DIR || $APPLICATION->GetCurDir()==SITE_DIR.'catalog/' ):?>на главной и в каталоге<?else:?>на остальных<?endif;?>>

данная функция на главной и на корневой странице раздела каталог делает col-md-12, а вот внутренние страницы каталога всё равно col-md-8+col-md-4
можно ли победить?
 
Кстати хотел бы расширить эту запись несколькими полезными функциями.


//инклюд
<?$APPLICATION->IncludeFile(SITE_DIR."include/file.php", Array(), Array("MODE" => "html", "NAME" => "заголовок"  ;)  );?>
//инклюд2
<?$APPLICATION->IncludeFile(SITE_DIR."include/file.php"  ;)  ;?>


подключение скриптов из папки шаблона
<? $this->addExternalJS($this->__folder."/form_script.js" ;) ;?>
<? $this->addExternalCss($this->__folder."/form_script.css" ;) ;?>
 
Цитата
Сергей Бушкевич написал:
хочу сделать разную разметку на некоторых страницах сайта. к примру на главной и в каталоге хочу .col-md-12, а на остальных .col-md-8+col-md-4.
но никак не получается.
<?if($APPLICATION->GetCurDir()==SITE_DIR || $APPLICATION->GetCurDir()==SITE_DIR.'catalog/' ):?>на главной и в каталоге<?else:?>на остальных<?endif;?>>

данная функция на главной и на корневой странице раздела каталог делает col-md-12, а вот внутренние страницы каталога всё равно col-md-8+col-md-4
можно ли победить?
Для каталога, нужно через CSite::InDir
Код
<?if (
($APPLICATION->GetCurDir()=='/') ||
(CSite::InDir('/catalog/'))
){?>
   Главная и каталог
<?} else {?>
   Все остальные
<?}?>
 
Цитата
Сергей Стефанович написал:
подключение скриптов из папки шаблона
<? $this->addExternalJS($this->__folder."/form_script.js"  ;?>
<? $this->addExternalCss($this->__folder."/form_script.css"  ;?>

Вот так аккуратнее
Код
<?
$templateFolder = &$this->GetFolder();
?>
И подставлять переменную $templateFolder в ней будет текущая директория компонента
 
Цитата
Михаил Базаров пишет:

Код
 <?if (
($APPLICATION->GetCurDir()=='/') ||
(CSite::InDir('/catalog/'))
){?>
   Главная и каталог
<?} else {?>
   Все остальные
<?}?> 
Спасибо, помогли!
 
А как в шаблоне выводится модуль валюты?
 
А как вывести 1 дополнительное поле по ключу?
Или исключить определенные дополнительные поля, при выводе через массив?
 
Добрый день.
Подскажите, а как в данное выражение добавить условие, если = 0, то под заказ

[COLOR=#f16522]Количество товара на складе в списке товаров:[/COLOR]
[COLOR=#f16522][/COLOR][COLOR=#790000][COLOR=#f16522]<?[/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522] [/COLOR][/COLOR][COLOR=#790000][COLOR=#f16522]$ar_res = CCatalogProduct::GetByID($arElement['ID']);[/COLOR][/COLOR][COLOR=#790000][COLOR=#f16522] echo "<br>На складе: ";[/COLOR][COLOR=#f16522][/COLOR]
[/COLOR][COLOR=#f16522] [/COLOR][COLOR=#790000][COLOR=#f16522]print_r($ar_res['QUANTITY']);[/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR][COLOR=#f16522][/COLOR]
[/COLOR][COLOR=#f16522] [/COLOR][COLOR=#790000][COLOR=#f16522] echo " шт.";[/COLOR]
[/COLOR][COLOR=#f16522][/COLOR][COLOR=#790000][COLOR=#f16522]?>[/COLOR][/COLOR]
 
Код
if((int)$ar_res['QUANTITY'] > 0) {
   echo 'на складе ' . $ar_res['QUANTITY'] . ' шт.';
} else {
   echo 'Под заказ';
}
Изменено: Михаил Базаров - 23.07.2021 19:00:02
 
Как в шаблоне детальной страницы сделать следующее:
Необходимо к переменной "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 и включать нужный шаблон.
Изменено: Михаил Базаров - 15.09.2022 11:17:43
 
Спасибо!  
 
Цитата

Цитата
Денис написал:
Добрый день! Подскажите пожалуйста, как можно реализовать вывод из одного раздела детальных страниц но с разными шаблонами?
Думаю, только через свойство элемента. Задать что-то типа "Вариант шаблона" со списком 1, 2, 3 и так далее
Проверять что выбрано в 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
Изменено: Михаил Базаров - 01.10.2022 13:05:32
 
Большое Спасибо!
 
Добрый вечер. Возможно ли сделать выборку шаблона детальной страницы но на компоненте новостей ?
 
Цитата
Гость написал:
Добрый вечер. Возможно ли сделать выборку шаблона детальной страницы но на компоненте новостей ?

Да, точно также: через свойство новости, но применяете в комплексном шаблоне новостей, в файле detail.php
Ответить
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst
Место для вашей рекламы.
Сквозная по:

15 000 руб/мес.

Обязательно через ОРД
со счетами и актами

Блог-note: заметки разработчика

Картинка торгового предложения вместо иконки цвета, в выборе SKU

Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового предложения. Если картинки у пр...

Связанные элементы в карточке товара, с помощью catalog.section

Достаточно часто, при разработке магазинов на битрикс, требуется выводить связанные элементы внутри карточки товара. Д...

Вывести артикул в печатную форму бланка заказа

Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе.

Вывод элементов с помощью API битрикс

Иногда, выводить элементы инфоблока с помощью компонентов, может оказаться избыточным. Например, если нужно вывести элем...

Не дать пользователю купить больше одного товара, в Битрикс

Иногда нужно и такое: Например: на одном из разрабатываемых сайтов, мне нужно было создать всего 4 товара. при этом поку...

Добавить все свойства инфоблока в умный фильтр одним разом

Если у вас достаточно много свойств, в инфоблоке с товарами, например: больше 1000-чи, после интеграции с 1С или импорта...

Прятать или показывать описание раздела каталога

В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...

Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.

Рассмотрим как, в магазине работающем на 1С-битрикс, массово применить наценку на все товары каталога. Устанавливать буд...

Получение местоположений через API Битрикс c поиском по select.

Если нужно получить список городов из модуля "Местоположения" можно воспользоваться API Битрикс. Данные местоположения м...