Периодически возникает необходимость выбрать несколько сотен файлов по какому-то списку из множества.
В частности, недавно надо было выбрать 8000 фото товаров из 11 тысяч. Всю группу файлов я заранее скопировала в одну папку с помощью фильтров. Но папка содержала и другие фото, их надо было отсеять.
Задача была решена с помощью доброго старого bat файла.
Yearly Archives: 2020
Добавляем информацию нелинейно
Иногда часть информации нужно разместить вне компонента где она вычисляется, например — в боковой колонке. В Битриксе передача данных между компонентами затруднена, но есть несколько способов.
- ShowViewContent
Один из них — метод CMain::ShowViewContent.
В темплейте исходного компоненте перед созданием контента пишем:
$this->SetViewTarget('sidebar');
Далее — формирум данные для вывода.
Завершаем блок командой$this-> EndViewTarget();
В результате наши данные сформированы, но пока нигде не отображаются.
Для вывода созданного фрагмента в header или footer размещаем вызов контента:$APPLICATION->ShowViewContent("sidebar");
- AddViewContent
<?$this->SetViewTarget("sidebar");?> <div class="element-filter"> <!--вывод фильтра --> </div> <?$this->EndViewTarget();?>
CMain::AddViewContent( view, content, pos = 500) позволяет вывести контент в пароизвольной области. view — идентификатор буферизируемой области. Идентификатору может соответствовать несколько буферов. Последовательность вывода контента определяется сортировкой pos. Пример:if(!isset($_REQUEST["ajax"])) $this->SetViewTarget("sidebar"); $APPLICATION->IncludeComponent( "bitrix:catalog.smart.filter", "", array(...), false ); if(!isset($_REQUEST["ajax"])) $this->EndViewTarget("sidebar");
в темплейте вызываем через$APPLICATION->ShowViewContent('sidebar');
- Использование this
<h1><?=$APPLICATION->ShowTitle();?><?$APPLICATION->ShowViewContent('mdf_title');?></h1> <?$this->SetViewTarget('mdf_title');?> same text here ... <?$this->EndViewTarget();?>
- ob_start
ob_start(); echo 'SomeText'; $out1 = ob_get_contents(); ob_end_clean(); $APPLICATION->AddViewContent('block_id',$out1);
Горячие клавиши Битрикс
Режим правки | Ctrl+Alt+D |
Развернуть/Свернуть | Ctrl+Alt+E |
Размерность характеристик в Вебасисте
В ВА возможны разные типы характеристик — число, строка и т.п..
Но есть не просто «число», а «длина» или «мощность». Эти типы данных при выводе на сайт будут снабжены размерностями после числа мм или см, и их можно, допустим, вводить в метрах, а выводить — в сантиметрах.
(далее…)Использование API Яндекс-карт
Хочу расписать тут пример вывода списка дилеров через API с динамическим формированием меток.
Вывод будет двух типов — с кластеризацией и без нее.
Скрипт писался для вебасиста, там используются шаблоны Smarty, синтаксис поэтому немного специфический, со всякими literal.
1. Для работы с API яндекс-карт нужно прежде всего получить ключ в кабинете разработчика: https://developer.tech.yandex.ru/keys/
2. https://tech.yandex.ru/maps/jsapi/ — страница сервиса, с примерами и документацией.
3. Пример с кластеризацией точек: