Recent changes
Wednesday November 04 2026
-
Check the extension order after moving settings Updated Markdown page
After moving settings or adding extensions, check DesignExtensions[] and AvailableBlocks[] in effect.
-
Use exp:layouts instead of the old helper scripts Updated Markdown page
The ext:explayouts:* helpers (block_list, layout_info, layout_copy, layout_list, rule_list, share_create, collection_list) run on their own again since explayouts 1.4.42; exp:layouts stays the tool for export and import.
-
Import beside the existing layouts Updated Markdown page
--strategy=copy imports items that already exist as new copies, leaving the originals.
-
Keep layouts in the project repository Updated Markdown page
Commit exports next to the design extension; layouts.json in the archive can be compared between versions.
-
Freeze a Layouts site into templates Updated Markdown page
When a site must stop changing (an archive), its layouts can stay; freezing means fewer editors, not rewriting.
-
Move all layouts to another installation Updated Markdown page
exp:layouts export --all on the source, import with a dry run on the target; content is matched by remote ID and path.
-
Update stored block links to remote IDs Updated Markdown page
ext:explayouts:updatelinklocationreferences converts block links from ibexa-location://<id> to exp-remote-location://<remote id>.
-
Move the mappings with the layouts Updated Markdown page
--rules=none|selected|all decides which layout mappings travel; selected (the default) takes those of the chosen layouts.
-
Copy the menu settings to another siteaccess Updated Markdown page
exp:ini copy copies a setting (a whole array with its reset line) from one scope to another.
-
Merge layouts from two installations Updated Markdown page
Import the second site's layouts with --strategy=copy where identifiers clash, then rename and remap.
-
Move a hard-coded menu into settings Updated Markdown page
An old template with links typed into it becomes a MainMenuID[] list read by the theme's main_menu.tpl.
-
Replace copied HTML snippets by a block type Updated Markdown page
Many HTML snippet blocks with the same markup become one block type; replace them one by one.
-
Plan the way back Updated Markdown page
Exports of the layouts, backups of the INI files (exp:ini keeps them in var/backup/ini/) and the previous extension release.
-
When the target lacks some content Updated Markdown page
--unmapped=drop|keep|fail decides what happens to references to content the target does not have (default drop).
-
Move content to another place in the tree Updated Markdown page
A move keeps node IDs: menus, Location mappings and manual collections follow; Path and Path prefix targets do not.
-
Move inline styles into the stylesheet Updated Markdown page
style="" and <style> in old templates go into your stylesheet, packed with the theme's.
-
Add a language and give it layouts Updated Markdown page
A new siteaccess gets its settings (menu.ini) by exp:ini copy and its own layouts by mappings with a Siteaccess condition.
-
Move only some layouts Updated Markdown page
--only with the layout identifiers; the shared layouts they link to come along.
-
Site packages and layouts Updated Markdown page
The site packages of this installation carry content but no layouts; install the layouts with exp:layouts import after the content.
-
Choose the strategy per layout Updated Markdown page
--item=<key>=<strategy>,... sets skip, overwrite or copy per item, with the keys the dry run prints.