Baseline: main 23.0+ · Verified: main 26.800.0
| Task | Read |
|---|---|
Placement, scaffold, class.php, params, .description.php, .parameters.php |
rules/structure.md |
Template search order and overrides, template.php, result_modifier.php, component_epilog.php |
rules/template.md |
| Result cache, paged list, complex SEF, AJAX actions | rules/cache-sef-ajax.md |
PageNavigation, pager templates |
bitrix-cms-basics |
| Grid, filter, toolbar in templates | bitrix-ui |
Invariants
- Own components in
/local/components/<vendor>/; kernel components are changed only by copying their template to/local/templates/<site>/components/…. - Logic in
class.phpand services; templates only render$arResult, escaping output. onPrepareComponentParams()casts every param;~KEYis the raw value.- Everything that changes output is in the cache key (user groups, page number, filter).
- Nested components get
$componentas the 4thIncludeComponent()argument. - AJAX through
Controllerableactions with prefilters and signed parameters.