Block editing
Presently, developers have an option to integrate into edit options for any block. In case of such registration, a button to activate your app will appear near the buttons of "Edit" and "Design" blocks.
The code to embed the app depends on the code of the block and generally looks as follows: LANDING_BLOCK_<CODE>
. The block code must be inserted instead of <CODE>
(see examples below). However, when inserting is performed into the block that is already registered by you, specify its ID.
- Register a block. The method will return block ID. Let it be equal to 1132, for example.
- When registering embedding location, specify a code:
LANDING_BLOCK_repo_1132
(orLANDING_BLOCK_REPO_1132
, case insensitive)
Parameters
The following parameters are available for this embedding location:
Parameter | Description | Available from version |
---|---|---|
ID | – block ID блока. | |
CODE | – block symbolic code. | |
LID | – landing page ID. |
Parameters can be retrieved from PLACEMENT_OPTIONS:
$placement = isset($_REQUEST['PLACEMENT_OPTIONS']) ? json_decode($_REQUEST['PLACEMENT_OPTIONS'], true) : [];
Example
BX24.callMethod( 'landing.repo.bind', { fields: { PLACEMENT: 'LANDING_BLOCK_04.1.one_col_fix_with_title', PLACEMENT_HANDLER: 'https://cpe/rt/placement.php', TITLE: 'My block' } }, function(result) { if(result.error()) console.error(result.error()); else console.info(result.data()); } );
If you went to embed a universal application for each block, specify the code co *:
pre class="syntax">BX24.callMethod( 'landing.repo.bind', { fields: { PLACEMENT: 'LANDING_BLOCK_04.1.one_col_fix_with_title', PLACEMENT_HANDLER: 'https://cpe/rt/placement.php', TITLE: 'My block' } }, function(result) { if(result.error()) console.error(result.error()); else console.info(result.data()); } );If you want to embed a universal app for each block, the со * code must be specified:
BX24.callMethod( 'landing.repo.bind', { fields: { PLACEMENT: 'LANDING_BLOCK_*', PLACEMENT_HANDLER: 'https://cpe/rt/placement.php', TITLE: 'My block' } }, function(result) { if(result.error()) console.error(result.error()); else console.info(result.data()); } )
Updating block from the app
The opened app has the command to update a specific block. After you worked the block used to call the app, you may need to update it. It is done via the refreshBlock command.
Example
BX24.placement.call( 'refreshBlock', { id: 123//block with ID 123 }, function() { console.log('Block successfully updated'); //close slider } );