Новое в инфоблоках:вычисляемые свойства и ORM. презентация

SEO Хранение Наследование Кеширование Шаблонизатор Подстановки Функции

Слайд 1
Новое в инфоблоках: вычисляемые свойства и ORM.
Смирнов Максим
Ведущий программист
«1С-Битрикс»


Слайд 2SEO
Хранение
Наследование
Кеширование
Шаблонизатор
Подстановки
Функции


Слайд 3Хранение: обзор
Наследование
Инфоблок
Раздел
Элемент
Хранение
Кеширование в БД
Сброс кеша явный


Слайд 4
Хранение: код
use Bitrix\Iblock\InheritedProperty;

//ООП ElementTemplates или SectionTemplates или IblockTemplates ))
$ipropTemplates

= new InheritedProperty\ElementTemplates($IBLOCK_ID, $ELEMENT_ID);
//Установить шаблон для элемента
$ipropTemplates->set(array(
"MY_PROP_CODE" => "{=this.Name}",
“SOME_CODE" => "", //Удалить шаблон
));
//Получить шаблоны для "редактирования"
$templates = $ipropTemplates->findTemplates();
//Удалить все собственные шаблоны элемента
$ipropTemplates->delete();

//ООП ElementValues или SectionValues или IblockValues ))
$ipropValues = new InheritedProperty\ElementValues($IBLOCK_ID, $ELEMENT_ID);
//Получить значения
$values = $ipropValues->getValues();
echo $values [" MY_PROP_CODE "];
//Сбросить кеш
$ipropValues->clearValues();

Слайд 5Шаблоны: обзор
Просто текст
Модификатор нижнего регистра/l
Модификатор транслитерации/t-
Подстановка: {=this.Name}
Область: this, parent, sections, iblock,

property или catalog.
Поле: name, code, previewtext, detailtext, property_CODE…
Функции: {=concat " \ " "!" iblock.name sections.name this.name}
Встроенные: upper, lower, translit, concat, limit, contrast, min, max и distinct.
Событие: OnTemplateGetFunctionClass
Вложенность:
{=lower {=contrast 20 " .,?!" {=limit 50 " .,?!" this.previewtext} {=limit 50 " .,?!" parent.previewtext parent.detailtext}}}

Слайд 6);}
Шаблоны: код
use Bitrix\Iblock\Template;
//Подключение модуля инфоблоков.
if (\Bitrix\Main\Loader::includeModule('iblock'))
{
//Задаём шаблон.

$template = "Name: {=this.Name}. Code:{=this.code}";
//Исходные данные будем брать из элемента.
$entity = new Template\Entity\Element($ELEMENT_ID);
//Не забываем про безопасность.
echo \Bitrix\Main\Text\String::htmlEncode(
//Вычисляем значение по шаблону.
Template\Engine::process($entity, $template)
);
}

Слайд 7ORM
Используется шаблонизатором.
Пока только для выборки и нет поддержки Инфоблоков+.
Большие доработки в

14.0.6
Методы add/update/delete скоро будут.

Слайд 8
ORM: примеры
$elementList = \Bitrix\Iblock\ElementTable::getList(array(
"select" => array("ID", "CODE"),
"filter"

=> array("=IBLOCK_ID" => $IblockId),
“limit" => array(5),
));

$element = $elementList->fetch();
if ($element)
echo $element["NAME"];

$elementList = \Bitrix\Iblock\ElementTable::query()
->setSelect(array("ID", "CODE"))
->setFilter(array("=IBLOCK_ID" => $IblockId ))
->limit(5)
->exec()
;


Слайд 9Выводы
Имеем мощный и простой в использовании функционал.
Заложены возможности для расширения.
Есть куда

стремиться и развиваться.
ORM в инфоблоках будет совместима по данным с существующими классами, а значит её можно будет использовать одновременно и внедрять постепенно.

Слайд 10 Спасибо за внимание!
Вопросы?
Twitter: @qMBQx8GH
Skype: mv.smirnov
E-mail: max@bitrix.ru


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика