🧩 Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
🧱 Custom Code System (Powerful Dual Feature)
🛠 Field Type System
📁 Snippets, Templates, Layouts, Libraries
- Snippets Reusable Html Blocks
- Layouts Reusable Php Render Templates
- Templates Page Level Views Linked To Custom Admin Site Views
- Libraries JS CSS Assets Linked To UI
- CDN Local Toggle For Library Delivery
- Media Folder Injection With Override Support
- Repository Push Pull Reset Workflow
- Init Snippets Layouts Templates Via Gui
📦 Packages
🧩 Architecture & Core Logic
📁 File & Code Management
🧠 Code Reuse & Blueprints
🌐 Joomla CMS Integration
🎨 Visual GUI & UX
🌍 Internationalization
📦 Packaging & Distribution
⚙️ Compiler Engine Features
🧱 Custom Code System
🛠 Field Type System
📐 Dynamic GET (Visual SQL Engine)
📁 Snippets, Templates, Layouts, Libraries
📚 Documentation & Metadata
📊 Analytics & Insights
🧩 Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
🛠 Field Type System
- Field Types Define Templates And Data Types
- Gui Defined Rules Required Unique Nullable
- Save Get Hooks Per Field
- Database Schema Auto Generated From Field Settings
- Per Display Field Rendering Config List Edit
- Create Dynamic Models With Modals Selectors
- Conditional Js And Css Per Field
📁 Snippets, Templates, Layouts, Libraries
- Snippets Reusable Html Blocks
- Layouts Reusable Php Render Templates
- Templates Page Level Views Linked To Custom Admin Site Views
- Libraries JS CSS Assets Linked To UI
- CDN Local Toggle For Library Delivery
- Media Folder Injection With Override Support
- Repository Push Pull Reset Workflow
- Init Snippets Layouts Templates Via Gui
Round-Trip Code Integration
Seamlessly preserve and reinject manual code edits into future builds.
Round-Trip Code Integration in Joomla Component Builder (JCB) enables an advanced, bi-directional synchronization between your live Joomla component code and the blueprint inside JCB. This feature allows you to inject, preserve, update, and even extract code snippets directly from compiled components, making iterative development seamless and safe.
Round-trip code refers to the ability to:
-
Insert or Replace custom code (HTML or PHP) into the compiled Joomla extension.
-
Preserve that custom code across multiple rebuilds of the component in JCB.
-
Update or modify that code from either the GUI or the file system.
-
Extract and reintegrate code from already-deployed components for editing or review.
Key Benefits
Maintain full customization flexibility without losing changes on recompilation
Collaborate safely by syncing real project code into JCB GUI
Eliminate the need for post-compilation patching or manual merging
Reverse-engineer code changes into reusable blocks for reuse across multiple projects
What Is Round-Trip Code?
How It Works
JCB uses special comment-based tags (known as Insert/Replace Tags) that act as markers to track and reintegrate code during builds. These markers are parsed and mapped to Custom Code entities in the JCB backend.
For Insertion:
`/***[INSERT<>$$$$]***/` and `/***[/INSERT<>$$$$]***/`
For Replacement:
`/***[REPLACE<>$$$$]***/` and `/***[/REPLACE<>$$$$]***/`
Each custom code block is:
Identified by a unique key
Injected into specific files or code locations
Persisted and versioned inside the JCB interface
Learn more in the wiki:
Use Cases
-
Replace logic inside controllers/models with version-aware custom logic
-
Override layout HTML in generated templates
-
Dynamically inject logic into admin/backend forms or views
-
Maintain sensitive integration code (like payment logic) without losing it during component rebuilds
-
Extract snippets from a working project for reuse or refactoring
Fail-Safe Mechanisms
If JCB cannot find the original location for reinserting the code, it does not delete or ignore the block. Instead, it comments it out and alerts you during compilation, making it easy to review and fix manually.
-
Cannot match a placeholder to its compiled context?The code is preserved and commented for review
-
Line tracking and UUID mapping?Debug and verify where custom code is injected
-
Updates and modifications?Placeholder blocks are tracked and versioned
Related Features

Custom Code Entities

Super Powers & Joomla Powers

Compiler Debug Logs
Summary
Round-Trip Code Integration is a defining feature that turns JCB from a one-way code generator into a true bi-directional development platform. It ensures your handcrafted logic never gets overwritten and enables agile collaboration in professional Joomla development workflows.