landing.repo.register
Scope: landing Права на выполнение: для всех
Описание
landing.repo.register(code, fields, manifest)
Метод добавления блока в репозиторий. Возвращает ошибку или ID добавленного блока. Этот ID используется для добавления блока на создаваемые программно лендинги.
При добавлении происходит проверка. Если блок с данным кодом уже присутствует в системе, произойдет его удаление
Метод может вернуть ошибку об опасном содержимом блока. В этом случае требуется сначала проверить регистрируемое содержимое методом landing.repo.checkContent.
При разработке нового блока или изменении существующего может потребоваться быстрее увидеть изменение, чем это позволяет пере-добавление блока или флаг RESET. Рекомендуется для этих целей использовать метод landing.block.updatecontent. Метод передаёт в блок произвольный контент и отображает изменения практически "налету". После того как разработка закончена, разработчик может окончательно его зарегистрировать.
Метод подходит только для изменения контента. При изменении манифеста блок требуется перерегистрировать (без пере-добавления на страницу).
Параметры
Метод | Описание | С версии |
---|---|---|
code | Уникальный код вашего блока, по нему будет осуществляться удаление блока, если требуется. | |
fields | Массив полей, описывающих ваш блок, состоит из ключей:
Дополнительные параметры:
| |
manifest | Массив манифеста, которым описывается блок. |
Атрибут style может вырезаться встроенным санитайзером. Чтобы это обойти используйте вместо него атрибут bxstyle. При добавлении система конвертирует его в штатный style.
Пример
<? //для наглядности, передадим PHP-массив на исполнение JS $data = array( 'code' => 'myblockx', 'fields' => array( 'NAME' => 'Test block', 'DESCRIPTION' => 'Just try!', 'SECTIONS' => 'cover,about', 'PREVIEW' => 'https://www.bitrix24.ru/images/b24_screen.png', 'CONTENT' => ' <section class="landing-block"> <div class="text-center g-color-gray-dark-v3 g-pa-10"> <div class="g-width-600 mx-auto"> <div class="landing-block-node-text g-font-size-12 "> <p>© 2017 All right reserved. Developed by <a href="#" class="landing-block-node-link g-color-primary">Bitrix24</a></p> </div> </div> </div> </section>' ), 'manifest' => array( 'assets' => array( 'css' => array( 'https://site.com/aaa.css' ), 'js' => array( 'https://site.com/aaa.js' ) ), 'nodes' => array( '.landing-block-node-text' => array( 'name' => 'Text', 'type' => 'text', ), '.landing-block-node-link' => array( 'name' => 'Link', 'type' => 'link', ), ), 'style' => array( '.landing-block-node-text' => array( 'name' => 'Text', 'type' => 'typo', ), '.landing-block-node-link' => array( 'name' => 'Link', 'type' => 'typo', ), ), 'attrs' => array( '.landing-block-node-text' => array( 'name' => 'Настройка копирайта', 'type' => 'dropdown', 'attribute' => 'data-copy', 'items' => array( 'val1' => 'Значение 1', 'val2' => 'Значение 2' ) ), ), ), ); ?> // обратите внимание! далее идет JS код. BX24.callMethod( 'landing.repo.register', //абстрактный метод, превращающий PHP-массив в JS-объект <?= \CUtil::PhpToJSObject($data)?>, function(result) { if(result.error()) console.error(result.error()); else console.info(result.data()); } );
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.