joomla3-legacy

Develop Joomla 3.x components using legacy MVC and JFactory APIs.

8|Updated Feb 9, 2026
One-click install
npx skills add https://github.com/zb-ss/opencode-workflows --skill joomla3-legacy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: joomla3-legacy
Source: https://github.com/zb-ss/opencode-workflows/tree/main/skill/joomla3-legacy
Command: npx skills add https://github.com/zb-ss/opencode-workflows --skill joomla3-legacy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide and code examples for developing components in Joomla 3.x, focusing on its legacy, non-namespaced MVC structure and core JFactory usage.

Core Features & Use Cases

  • Component Structure: Illustrates the standard directory layout for Joomla 3 components.
  • Core Classes: Demonstrates the usage of JControllerLegacy, JModelList, JModelAdmin, and JTable classes.
  • JFactory Usage: Provides examples of common JFactory calls for application, input, database, user, session, document, and language management.
  • Security Patterns: Highlights essential security practices like CSRF token checks, permission authorization, and input/output escaping.
  • Use Case: A developer needs to build a new custom component for an existing Joomla 3 website and requires a clear, structured reference for the correct patterns and APIs to use.

Quick Start

Use the joomla3-legacy skill to generate a basic CRUD component structure for Joomla 3.

Frequently Asked Questions about joomla3-legacy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I develop a custom component in Joomla 3 using legacy MVC architecture?

To develop a custom component in Joomla 3, use the legacy non-namespaced MVC architecture by extending JControllerLegacy, JModelList, and JTable classes. This approach provides standard directory layouts and code patterns for building extensions.

How does JFactory work for database and user management in Joomla 3?

JFactory works in Joomla 3 by providing a centralized API to access application, input, database, user, session, document, and language management. You call JFactory methods directly to retrieve these core application instances without manual instantiation.

What is the correct component structure for a Joomla 3 extension?

The correct component structure for a Joomla 3 extension is a standard directory layout separating controllers, models, tables, and views. This non-namespaced structure organizes legacy MVC files correctly for the CMS to route requests properly.

Does Joomla 3 legacy development require specific security patterns for components?

Joomla 3 legacy development requires specific security patterns including CSRF token checks, permission authorization, and input/output escaping. Implementing these practices ensures your custom components prevent cross-site request forgery and unauthorized access.

Can I use JModelAdmin to build CRUD interfaces for existing Joomla 3 sites?

You can use JModelAdmin to build CRUD interfaces for existing Joomla 3 sites by extending the class within your legacy component's models directory. This provides built-in methods for database record creation, retrieval, updating, and deletion.

When should I not use the legacy MVC pattern for Joomla development?

You should not use the legacy MVC pattern for new Joomla 4 or 5 projects, as it relies on deprecated non-namespaced classes like JControllerLegacy. This approach is strictly for maintaining or extending existing Joomla 3.x sites.