ݺߣ

ݺߣShare a Scribd company logo
Highload блоки
Валерия Алексеева
веб-программист компании Центр Высоких Технологий
Что такое highload блоки?
Модуль позволяет создавать сущности для хранения
произвольных данных.
Доступные пользовательские поля:
• Фаил
• Список
• Привязка к разделам ИБ
• Привязка к элементам ИБ
• Шаблон
• Опрос
• Видео
• Строка
• Целое число
• Число
• Дата со временем
• Дата
• Да / Нет
Зачем они?
news.list vs highloadblock.list
Новое API
Объявляем класс сущности
CModule::IncludeModule( 'highloadblock' );
use BitrixHighloadblock as HL;
$entity = HLHighloadBlockTable::compileEntity( array(
'ID' => 6,
'NAME' => 'Goods',
'TABLE_NAME' => 'goods'
));
$entityDataClass = $entity->getDataClass();
Получение списка записей из highload блока
$goodsCursor = $entityDataClass::getList( array(
'select' => array( 'ID', 'UF_GOODS_NAME' ),
'order' => array( 'UF_GOODS_NAME' => 'ASC' ),
'filter' => array( 'UF_GOODS_COUNT' => 100 )
));
while ( $goods = $goodsCursor->fetch() ) {
var_dump( $goods );
}
Удаление записи из highload блока
$goodsId = 14; // где 14- это id записи
$result = $entityDataClass::delete( $goodsId );
if ( $result->isSuccess() ) {
// Запись удалена
}
Изменение записи в highload блоке
$goodsId = 3; // Идентификатор записи в highload блоке
$result = $entityDataClass::update(
$goodsId,
array(
'UF_GOODS_NAME' => 'iPad Mini'
)
);
if ( $result->isSuccess() ) {
// Запись добавлена
}
Добавление нового highload блока
$highloadBlockData = array (
'NAME' => 'Goods',
'TABLE_NAME' => 'goods'
);
$result = HLHighloadBlockTable::add( $highloadBlockData
);
if ( $result->isSuccess() ) {
// Highload добавлен
}
Изменение highload блока
$data = array(
'NAME' => 'Goods',
'TABLE_NAME' => 'goodsnew'
);
$highloadBlockId = 15; // где 15 - это id Highload блока
$result = HLHighloadBlockTable::update(
$highloadBlockId,
$data
);
if ( $result->isSuccess() ) {
// Highload успешно изменён
}
Удаление highload блока
$highloadBlockId = 15; // где 15 - это id Highload блока
HLHighloadBlockTable::delete( $highloadBlockId );
Получение информации о highload блоке
$highloadTableName = 'goods';
$highloadBlockCursor = HLHighloadBlockTable::getList( array(
'filter' => array(
'TABLE_NAME' => $highloadTableName
),
'select' => array(
'ID' /* Требуемые поля */
),
));
$highloadBlock = $highloadBlockCursor->fetch();
Добавление нового свойства
$userTypeEntity = new CUserTypeEntity();
$userTypeData = array(
'ENTITY_ID' => 'HLBLOCK_1', /*где 1- это id highload блока*/
'FIELD_NAME' => 'UF_GOODS_NAME',
'USER_TYPE_ID' => 'string',
'MANDATORY' => 'N',
'SHOW_FILTER' => 'Y',
'IS_SEARCHABLE' => 'N',
'EDIT_FORM_LABEL' => array(
'ru' => 'Наименование товара',
'en' => 'Description of goods',),
'LIST_COLUMN_LABEL' => array(
'ru' => 'Наименование товара',
'en' => 'Description of goods',),
'LIST_FILTER_LABEL' => array(
'ru' => 'Наименование товара',
'en' => 'Description of goods',
),
);
$userTypeId = $userTypeEntity->Add( $userTypeData );
Добавление записи в highload блок
$highloadBlockData = array(
'ID' => 6,
'NAME' => 'Goods',
'TABLE_NAME' => 'goods'
);
$entity = HLHighloadBlockTable::compileEntity( $highloadBlockData );
$entityDataClass = $entity->getDataClass();
$result = $entityDataClass::add( array(
'UF_USER_NAME' => 'Иванов Пётр'
));
if ( $result->isSuccess() ) {
// Запись добавлена
}
Групповые операции
Добавление свойств в фильтр
Highload блоки 15.0
1. Импорт/экспорт.
2. Поддержка прав.
3. Доработка компонентов и шаблонов.
4. Интеграция с модулем поиска.

More Related Content

«Highload блоки и новое api к ним»

  • 1. Highload блоки Валерия Алексеева веб-программист компании Центр Высоких Технологий
  • 2. Что такое highload блоки? Модуль позволяет создавать сущности для хранения произвольных данных. Доступные пользовательские поля: • Фаил • Список • Привязка к разделам ИБ • Привязка к элементам ИБ • Шаблон • Опрос • Видео • Строка • Целое число • Число • Дата со временем • Дата • Да / Нет
  • 6. Объявляем класс сущности CModule::IncludeModule( 'highloadblock' ); use BitrixHighloadblock as HL; $entity = HLHighloadBlockTable::compileEntity( array( 'ID' => 6, 'NAME' => 'Goods', 'TABLE_NAME' => 'goods' )); $entityDataClass = $entity->getDataClass();
  • 7. Получение списка записей из highload блока $goodsCursor = $entityDataClass::getList( array( 'select' => array( 'ID', 'UF_GOODS_NAME' ), 'order' => array( 'UF_GOODS_NAME' => 'ASC' ), 'filter' => array( 'UF_GOODS_COUNT' => 100 ) )); while ( $goods = $goodsCursor->fetch() ) { var_dump( $goods ); }
  • 8. Удаление записи из highload блока $goodsId = 14; // где 14- это id записи $result = $entityDataClass::delete( $goodsId ); if ( $result->isSuccess() ) { // Запись удалена }
  • 9. Изменение записи в highload блоке $goodsId = 3; // Идентификатор записи в highload блоке $result = $entityDataClass::update( $goodsId, array( 'UF_GOODS_NAME' => 'iPad Mini' ) ); if ( $result->isSuccess() ) { // Запись добавлена }
  • 10. Добавление нового highload блока $highloadBlockData = array ( 'NAME' => 'Goods', 'TABLE_NAME' => 'goods' ); $result = HLHighloadBlockTable::add( $highloadBlockData ); if ( $result->isSuccess() ) { // Highload добавлен }
  • 11. Изменение highload блока $data = array( 'NAME' => 'Goods', 'TABLE_NAME' => 'goodsnew' ); $highloadBlockId = 15; // где 15 - это id Highload блока $result = HLHighloadBlockTable::update( $highloadBlockId, $data ); if ( $result->isSuccess() ) { // Highload успешно изменён }
  • 12. Удаление highload блока $highloadBlockId = 15; // где 15 - это id Highload блока HLHighloadBlockTable::delete( $highloadBlockId );
  • 13. Получение информации о highload блоке $highloadTableName = 'goods'; $highloadBlockCursor = HLHighloadBlockTable::getList( array( 'filter' => array( 'TABLE_NAME' => $highloadTableName ), 'select' => array( 'ID' /* Требуемые поля */ ), )); $highloadBlock = $highloadBlockCursor->fetch();
  • 14. Добавление нового свойства $userTypeEntity = new CUserTypeEntity(); $userTypeData = array( 'ENTITY_ID' => 'HLBLOCK_1', /*где 1- это id highload блока*/ 'FIELD_NAME' => 'UF_GOODS_NAME', 'USER_TYPE_ID' => 'string', 'MANDATORY' => 'N', 'SHOW_FILTER' => 'Y', 'IS_SEARCHABLE' => 'N', 'EDIT_FORM_LABEL' => array( 'ru' => 'Наименование товара', 'en' => 'Description of goods',), 'LIST_COLUMN_LABEL' => array( 'ru' => 'Наименование товара', 'en' => 'Description of goods',), 'LIST_FILTER_LABEL' => array( 'ru' => 'Наименование товара', 'en' => 'Description of goods', ), ); $userTypeId = $userTypeEntity->Add( $userTypeData );
  • 15. Добавление записи в highload блок $highloadBlockData = array( 'ID' => 6, 'NAME' => 'Goods', 'TABLE_NAME' => 'goods' ); $entity = HLHighloadBlockTable::compileEntity( $highloadBlockData ); $entityDataClass = $entity->getDataClass(); $result = $entityDataClass::add( array( 'UF_USER_NAME' => 'Иванов Пётр' )); if ( $result->isSuccess() ) { // Запись добавлена }
  • 18. Highload блоки 15.0 1. Импорт/экспорт. 2. Поддержка прав. 3. Доработка компонентов и шаблонов. 4. Интеграция с модулем поиска.