🧩 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
JCB! Fields
the foundation of every Joomla Component Builder (JCB) project
What Are Fields?
Fields are the foundation of every Joomla Component Builder (JCB) project.
They define how data is stored, validated, rendered, and interacted with in your Joomla extensions.
Fields let you control everything from the underlying database schema to the user interface, all within a single configuration.
Each Field:
- Defines database structure (type, size, default, null, unique keys, indexes)
- Binds to a fieldtype, determining HTML rendering and behavior
- Supports per-field custom PHP for model saving and retrieval
- Allows styling and scripting (HTML attributes, JS, CSS)
- Automatically generates Joomla-compliant XML field definitions
Where Are Fields Used in JCB?
Fields are universal integrated — they are used in, highly structured areas:
- ✅ Admin Views (the native Joomla back-end editing views)
- ✅ Modules (frontend display configurations)
- ✅ Plugins (event-driven integrations)
- ✅ Component Configurations (global parameter settings)
What Can a Field Do?
A Field in JCB can define:
- Database Type & Schema:
int
,varchar
,json
, custom, nullable, defaults, indexes - Permissions: who can view/edit the field (ACL)
- Rendering Options: HTML classes, labels, JS behaviors
- Model Integration: how the value is saved or retrieved
- Dynamic Logic: PHP hooks for
onGet
,onSave
,onPrepareForm
, etc. - Fieldtypes: link to rich behaviors like Model Selects, Subforms, Toggle Switches, Encrypted Fields, etc.
This centralization makes field management efficient and highly reusable.
Reuse and Sharing
Fields are standalone entities:
- Define once, reuse across multiple Admin Views, Modules, or Plugins
- Fields can also be exported and shared via repositories
- JCB will automatically adjust them to fit into each consuming context
This means less duplication, and greater consistency across your entire component structure.
Versioning and Customization
To update a field:
- Click "reset" in the JCB UI to sync with this repository
- Or fork this repository, customize the field, and point JCB to your fork
This preserves version control while allowing your own field improvements to live independently.
Fields define both structure and behavior — they are where your data comes alive.
Index of Fields
Full list of fields available in the repository:
- Abbreviation (demo) | Details | Settings
- Alias | Details | Settings
- Allowed Document Formats | Details | Settings
- Allowed File Formats | Details | Settings
- Allowed Image Formats | Details | Settings
- Allowed Media Formats | Details | Settings
- Allowed Type | Details | Settings
- Capital (citites-modal) | Details | Settings
- Cities (state) | Details | Settings
- Code Three (currency) | Details | Settings
- Countries (multisubform) | Details | Settings
- Country (modal) | Details | Settings
- Crop Details | Details | Settings
- Currency Name (country) | Details | Settings
- Date of Birth (not required) | Details | Settings
- Description (full width) | Details | Settings
- Download Access | Details | Settings
- Email (not required) | Details | Settings
- Entity File Type | Details | Settings
- Entity Type (demo) | Details | Settings
- FIPS code | Details | Settings
- File (Importer) | Details | Settings
- File Extension | Details | Settings
- File Name | Details | Settings
- File Path | Details | Settings
- File Size | Details | Settings
- File Type | Details | Settings
- Flag emoji (country flag) | Details | Settings
- Flag emojiU (unicode for flag) | Details | Settings
- GMT Offset Name (timezone) | Details | Settings
- GMT Offset Seconds (timezone) | Details | Settings
- GUID | Details | Settings
- GUID ENTITY | Details | Settings
- Greeting | Details | Settings
- ISO Three (country) | Details | Settings
- ISO Two (country) | Details | Settings
- Import Status | Details | Settings
- Latitude (decimal) | Details | Settings
- Longitude (decimal) | Details | Settings
- Look Groups | Details | Settings
- Map | Details | Settings
- Message Status | Details | Settings
- Messages | Details | Settings
- Mime | Details | Settings
- Mobile Phone (not-required) | Details | Settings
- More Details | Details | Settings
- Name (Key - Required) | Details | Settings
- Nationality (country) | Details | Settings
- Native (country) | Details | Settings
- Note VDM File Display | Details | Settings
- Note VDM File Uploader | Details | Settings
- Numeric Code (currency) | Details | Settings
- Phone Code (country) | Details | Settings
- Region (modal) | Details | Settings
- State (modal) | Details | Settings
- State/cities (multisubform) | Details | Settings
- Storage Folder | Details | Settings
- Sub-Region (modal) | Details | Settings
- Subregions (subform) | Details | Settings
- Symbol (currency) | Details | Settings
- TLD (country) | Details | Settings
- Target (Files) | Details | Settings
- Timezone Identifier (timezone) | Details | Settings
- Timezone Name (timezone) | Details | Settings
- Timezones (country) | Details | Settings
- Type (of state) | Details | Settings
- User ID | Details | Settings
- Users | Details | Settings
- Website (no required) | Details | Settings
- WikiDataId | Details | Settings