๐งฉ 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
๐ Joomla CMS Integration
๐งฑ 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
๐ Joomla CMS Integration
- Token Integration
- ACL Per View, Field, Item
- Field-Based Joomla Config Generation
- Support For Joomla Categories/Tags/Custom Fields
- CLI-Ready Components
- Joomla Update Server Integration
- Version-Aware Language String Compilation
- Remote Publishing to Custom Repo Update Streams
๐ 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
Shared Field Types
Define once. Reuse everywhere. Maintain consistent logic and structure across components
What Are Shared Field Types?
Shared Field Types in JCB are reusable, blueprint-defined Joomla field structures that can be used across multiple views, components, or even projects. They function as templates for field definitions โ allowing you to standardize configuration, display, validation, database mapping, and custom scripting.
Instead of redefining the same field multiple times (e.g. a date picker, publish toggle, user selector), you create it once as a Shared Field Type and then reuse it wherever needed. If you later update the shared definition, all linked fields across the project can inherit or reference the changes.
Key Features
- ๐ Define Once, Reuse Everywhere: Create standardized field templates (e.g. status toggle, image uploader, currency field) and insert them into multiple views/components.
- ๐ง Blueprint-Level Configuration: Shared field types include:
- Type (text, calendar, list, textarea, etc.)
- Validation (required, unique, nullable)
- Tooltips, labels, descriptions
- DB constraints (length, default values)
- Access control per field
- Dynamic options via custom scripting
- ๐ Automatically Syncable: Linked fields can inherit updates from the shared type, making maintenance easier across large projects.
- ๐ Clone or Inherit: Choose whether to create a static copy or maintain a live reference to the shared type.
- ๐ Secure and Filterable: Enforce safe HTML, proper date formatting, and ACL logic consistently across reused fields.
- ๐งช Perfect for Prototypes and Boilerplates: Quickly scaffold views using battle-tested field patterns.
Use Cases
- ๐ Standard โPublished From / Toโ fields across multiple components
- ๐ค User picker field with ACL
- ๐ท๏ธ Tag input with dynamic source
- ๐ฐ Currency field with precision settings
- ๐ Multiline textarea with custom JS validation
- ๐ Language selector tied to Joomlaโs multilingual system
Creating a Shared Field Type
- Go to Components โ JCB โ Field Types.
- Create a new Field Type and define all its attributes.
- Optionally attach:
- Field class (for styling)
- Save/Get scripting
- Tooltips and multilingual labels
- Save the Field Type. It will now be available globally.
Using Shared Field Types
- When creating a new field in a View or Table, select โField Type.โ
- Choose from the list of predefined field types.
- Modify the label or override specific attributes as needed (if cloning).
- Compile as usual โ the field will use the shared configuration.
๐ง Pro Tip: Use naming conventions like ft_published_toggle
or ft_date_range
for clarity and easy filtering.
Conclusion
Shared Field Types help enforce consistency, speed up development, and centralize logic across your JCB projects. Whether you're standardizing behavior or just saving time, they transform field creation into a smart, reusable process โ ideal for scaling across components or teams.