CINXE.COM
Portal:Developers - Joomla! Documentation
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"/> <title>Portal:Developers - Joomla! Documentation</title> <script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"2a4be7ccfc793d2a32eccb9a","wgCSPNonce":!1,"wgCanonicalNamespace":"Portal","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":100,"wgPageName":"Portal:Developers","wgTitle":"Developers","wgCurRevisionId":662570,"wgRevisionId":662570,"wgArticleId":811,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Noindexed pages","Development","Joomla! user profiles"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Portal:Developers","wgRelevantArticleId":811,"wgIsProbablyEditable":!1,"wgRelevantPageIsProbablyEditable":!1,"wgRestrictionEdit":[],"wgRestrictionMove":[], "wgMediaViewerOnClick":!0,"wgMediaViewerEnabledByDefault":!0,"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgULSPosition":"personal","wgULSisCompactLinksEnabled":!0,"wgTranslatePageTranslation":"source"};RLSTATE={"site.styles":"ready","noscript":"ready","user.styles":"ready","user":"ready","user.options":"loading","ext.translate":"ready","ext.translate.tag.languages":"ready","skins.jforeground.styles":"ready","mediawiki.toc.styles":"ready","ext.uls.pt":"ready"};RLPAGEMODULES=["site","mediawiki.page.startup","mediawiki.page.ready","mediawiki.toc","skins.jforeground.js","mmv.head","mmv.bootstrap.autostart","ext.uls.compactlinks","ext.uls.interface","ext.translate.pagetranslation.uls"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@1hzgi",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); });});</script> <link rel="stylesheet" href="/load.php?lang=en&modules=ext.translate%7Cext.translate.tag.languages%7Cext.uls.pt%7Cmediawiki.toc.styles%7Cskins.jforeground.styles&only=styles&skin=jforeground"/> <script async="" src="/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=jforeground"></script> <meta name="ResourceLoaderDynamicStyles" content=""/> <link rel="stylesheet" href="/load.php?lang=en&modules=site.styles&only=styles&skin=jforeground"/> <meta name="generator" content="MediaWiki 1.35.10"/> <meta name="robots" content="noindex,follow"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimum-scale=0.25, maximum-scale=5.0"/> <link rel="apple-touch-icon" href="/apple-touch-icon-precomposed.png"/> <link rel="shortcut icon" href="/favicon.ico"/> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="Joomla! Documentation (en)"/> <link rel="EditURI" type="application/rsd+xml" href="//docs.joomla.org/api.php?action=rsd"/> <link rel="license" href="/JEDL"/> <link rel="alternate" type="application/atom+xml" title="Joomla! Documentation Atom feed" href="/index.php?title=Special:RecentChanges&feed=atom"/> <!--[if lt IE 9]><script src="/resources/lib/html5shiv/html5shiv.js"></script><![endif]--> </head> <body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-100 ns-subject page-Portal_Developers rootpage-Portal_Developers skin-jforeground action-view"><div id='navwrapper'> <!-- START FOREGROUNDTEMPLATE --> <div id="top-nav" class="fixed"> <nav id="topnav" class="top-bar top row"> <ul class="title-area"> <li class="name logo"> <a href="/Main_Page"> <img alt="Joomla! Documentation" src="/skins/jforeground/joomla_logo_small.png" style="max-width: 64px;height:auto; max-height:36px; display: inline-block; vertical-align:middle;"></a> </li> <li class="toggle-topbar menu-icon"> <a href="#"><span> </span></a> </li> </ul> <section class="top-bar-section"> <ul id="top-bar-left" class="left"> <li class="has-dropdown active" id="p-sidebar-Joomla"> <a href="#">Joomla!</a> <ul class="dropdown"> <li id="n-sidebar-Main"><a href="https://www.joomla.org"><i class="fa fa-joomla 2x-fa icon"></i>Joomla! Home</a></li> <li id="n-sidebar-What"><a href="https://www.joomla.org/about-joomla.html">What is Joomla?</a></li> <li id="n-sidebar-Benefits"><a href="https://www.joomla.org/core-features.html">Benefits & Features</a></li> <li id="n-sidebar-Leadership"><a href="https://www.joomla.org/about-joomla/the-project.html">Project & Leadership</a></li> <li id="n-sidebar-Trademark"><a href="https://tm.joomla.org">Trademark & Licensing</a></li> <li class="divider"></li> <li id="label"><label>Support Joomla!</label></li> <li id="n-sidebar-Contribute"><a href="https://www.joomla.org/contribute-to-joomla.html">Contribute</a></li> <li id="n-sidebar-Sponsorship"><a href="https://www.joomla.org/sponsor.html">Sponsor</a></li> <li id="n-sidebar-Partner"><a href="https://www.joomla.org/about-joomla/partners.html">Partner</a></li> <li id="n-sidebar-Shop"><a href="https://shop.joomla.org/">Shop</a></li> </ul> </li> <li class="has-dropdown active" id="p-sidebar-Extend"> <a href="#">Download & Extend</a> <ul class="dropdown"> <li id="n-sidebar-JoomlaCode"><a href="https://downloads.joomla.org/">Downloads</a></li> <li id="n-sidebar-Extensions"><a href="https://extensions.joomla.org/">Extensions</a></li> <li id="n-sidebar-Translations"><a href="https://community.joomla.org/translations.html">Languages</a></li> <li id="n-sidebar-Free-Hosted"><a href="https://launch.joomla.org">Get a free site</a></li> </ul> </li> <li class="has-dropdown active" id="p-sidebar-About"> <a href="#">Discover & Learn</a> <ul class="dropdown"> <li id="n-sidebar-Docs"><a href="https://docs.joomla.org">Documentation</a></li> <li id="n-sidebar-Training"><a href="https://training.joomla.org">Training</a></li> <li id="n-sidebar-Certification"><a href="https://certification.joomla.org/">Certification</a></li> <li id="n-sidebar-Showcase"><a href="https://showcase.joomla.org/">Site Showcase</a></li> <li id="n-sidebar-Announcements"><a href="https://www.joomla.org/announcements.html">Announcements</a></li> <li id="n-sidebar-Blogs"><a href="https://community.joomla.org/blogs.html">Blogs</a></li> <li id="n-sidebar-Magazine"><a href="https://magazine.joomla.org/">Magazine</a></li> </ul> </li> <li class="has-dropdown active" id="p-sidebar-News"> <a href="#">Community & Support</a> <ul class="dropdown"> <li id="n-sidebar-Community"><a href="https://community.joomla.org/">Community Portal</a></li> <li id="n-sidebar-Events"><a href="https://events.joomla.org/">Events</a></li> <li id="n-sidebar-JUGs"><a href="https://community.joomla.org/user-groups.html">User Groups</a></li> <li id="n-sidebar-Forum"><a href="https://forum.joomla.org/">Forum</a></li> <li id="n-sidebar-Resources"><a href="https://resources.joomla.org/">Resources Directory</a></li> <li id="n-sidebar-Volunteers"><a href="https://volunteers.joomla.org/">Volunteers Portal</a></li> <li id="n-sidebar-Vel"><a href="https://vel.joomla.org">Vulnerable Extensions List</a></li> </ul> </li> <li class="has-dropdown active" id="p-sidebar-Developers"> <a href="#">Developer Resources</a> <ul class="dropdown"> <li id="n-sidebar-Developers"><a href="https://developer.joomla.org/">Developer Network</a></li> <li id="n-sidebar-Security"><a href="https://developer.joomla.org/security-centre.html">Security Centre</a></li> <li id="n-sidebar-Issues"><a href="https://issues.joomla.org/">Issue Tracker</a></li> <li id="n-sidebar-Github"><a href="https://github.com/joomla">GitHub</a></li> <li id="n-sidebar-API"><a href="https://api.joomla.org/">API Documentation</a></li> <li id="n-sidebar-Framework"><a href="https://framework.joomla.org/">Joomla! Framework</a></li> <li id="n-sidebar-JoomlaCode"><a href="http://joomlacode.org/">JoomlaCode</a></li> </ul> </li> </ul> <ul id="top-bar-right" class="right"> <li class="has-dropdown active"><a href="#"><i class="fa fa-cogs"></i></a> <ul id="toolbox-dropdown" class="dropdown"> <li id="t-whatlinkshere"><a href="/Special:WhatLinksHere/Portal:Developers" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked"><a href="/Special:RecentChangesLinked/Portal:Developers" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li id="t-specialpages"><a href="/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-print"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li id="t-permalink"><a href="/index.php?title=Portal:Developers&oldid=662570" title="Permanent link to this revision of the page">Permanent link</a></li><li id="t-info"><a href="/index.php?title=Portal:Developers&action=info" title="More information about this page">Page information</a></li> <li id="n-recentchanges"><a href="/Special:RecentChanges" title="Special:RecentChanges">Recent changes</a></li> <li id="n-help" ><a href="/S:MyLanguage/Help:Contents">Help</a></li> </ul> </li> <li> <a href="/index.php?title=Special:UserLogin&returnto=Portal%3ADevelopers">Log in</a> </li> </ul> </section> </nav> </div> <div id="global-header"> <nav class="global-header"> <div class="row"> <div class="large-6 column"> <h1 class="page-title"> <a href="/Main_Page"> <div class="title-name" style="display: inline-block;">Joomla! Documentation<sup>™</sup></div> </a> </h1> </div> <div class="large-6 column hide-for-small"> <ul class="button-group pull-right"> <li><a href="https://downloads.joomla.org/" class="button success radius" target="_blank">Download</a></li> <li><a href="https://launch.joomla.org/" class="button top radius" target="_blank">Launch</a></li> </ul> </div> </div> </nav> </div> <div id="bottom-nav"> <nav id="bottomnav" class="top-bar bottom row"> <ul class="title-area"> <li class="name"> <h1 class="title-name-small"> <a href="/Main_Page"> <div class="title-name" style="display:none;">Joomla! Documentation<sup>™</sup></div> </a> </h1> </li> <li class="toggle-topbar menu-icon"> <a href="#"><span></span></a> </li> </ul> <section class="top-bar-section"> <ul id="top-bar-left" class="left"> <li class="has-dropdown active" id='p-Learn'> <a href="#">Learn</a> <ul class="dropdown"> <li id="n-More-About-Joomla.21"><a href="/Special:MyLanguage/Portal:Learn_More">More About Joomla!</a></li><li id="n-Beginners"><a href="/Portal:Beginners">Beginners</a></li><li id="n-Administrators"><a href="/Portal:Administrators">Administrators</a></li><li id="n-Developers"><a href="/Portal:Developers">Developers</a></li><li id="n-Joomla.21-Get-Involved"><a href="/Portal:Participating_in_the_Community">Joomla! Get Involved</a></li><li id="n-Joomla.21-Code-Contributors"><a href="/Portal:Joomla!_Code_Contributors">Joomla! Code Contributors</a></li><li id="n-Joomla-User-Groups"><a href="/Special:MyLanguage/Portal:Joomla_User_Groups">Joomla User Groups</a></li> </ul> <li class="has-dropdown active" id='p-Browse'> <a href="#">Browse</a> <ul class="dropdown"> <li id="n-CMS-Help-Screens"><a href="/Help_screens">CMS Help Screens</a></li><li id="n-Our-Docs"><a href="/Category:Top_Level">Our Docs</a></li><li id="n-Our-Glossary"><a href="/Glossary">Our Glossary</a></li><li id="n-The-Joomla.21-FAQs"><a href="/Category:FAQ">The Joomla! FAQs</a></li><li id="n-Tips-and-tricks"><a href="/Category:Tips_and_tricks">Tips and tricks</a></li><li id="n-Recent-Changes"><a href="/Special:RecentChanges">Recent Changes</a></li> </ul> <li class="has-dropdown active" id='p-Help'> <a href="#">Help</a> <ul class="dropdown"> <li id="n-Contribute-to-Joomla.21-Docs"><a href="/JDOC:How_to_Contribute_to_Joomla!_Documentation">Contribute to Joomla! Docs</a></li><li id="n-Translate-Joomla.21-Docs"><a href="/JDOC:Documentation_Translators">Translate Joomla! Docs</a></li><li id="n-Editing-Help"><a href="/JHelp:Cheatsheet">Editing Help</a></li><li id="n-Play-in-the-Sandbox"><a href="/Sandbox">Play in the Sandbox</a></li><li id="n-JDOC.27s-Policies"><a href="/JDOC:Wiki_policy">JDOC's Policies</a></li><li id="n-Documentation-License"><a href="/JEDL">Documentation License</a></li><li id="n-More-Help"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" rel="nofollow" target="_blank">More Help</a></li> </ul> </ul> <ul id="top-bar-right" class="right"> <li class="has-form"> <form action="/index.php" id="searchform" class="mw-search"> <div class="row"> <div class="small-12 columns"> <input type="search" name="search" placeholder="Search Joomla! Documentation" title="Search Joomla! Documentation [f]" accesskey="f" id="searchInput"/> <button type="submit" class="button search main">Search</button> </div> </div> </form> </li> </ul> </section> </nav> </div> </div> <div id="page-content"> <div class="row"> <div class="large-12 columns"> <!--[if lt IE 9]> <div id="siteNotice" class="sitenotice panel radius">Joomla! Documentation may not look as expected in this version of Internet Explorer. We recommend you upgrade to a newer version of Internet Explorer or switch to a browser like Firefox or Chrome.</div> <![endif]--> <!-- Output page indicators --> <div class="mw-indicators mw-body-content"> </div> <!-- If user is logged in output echo location --> </div> </div> <div id="mw-js-message" style="display:none;"></div> <div class="row"> <div id="p-cactions" class="large-12 columns"> <h4 class="namespace label">Portal</h4> <article id="content"> <h1 class="title">Developers</h1> <h3 id="tagline">From Joomla! Documentation</h3> <h5 class="subtitle"></h5> <div id="ad"> <script async="" type="text/javascript" src="//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=joomlaorg" id="_carbonads_js"></script> </div> <div class="clear_both"></div> <div class="mw-bodytext"> <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-pt-languages noprint" lang="en" dir="ltr"><div class="mw-pt-languages-label">Other languages:</div><div class="mw-pt-languages-list"><a href="/Portal:Developers/id" class="mw-pt-progress mw-pt-progress--complete" title="Developer (100% translated)" lang="id">Bahasa Indonesia</a> • <a href="/Portal:Developers/de" class="mw-pt-progress mw-pt-progress--complete" title="Entwickler (100% translated)" lang="de">Deutsch</a> • <span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete" lang="en">English</span> • <a href="/Portal:Developers/nl" class="mw-pt-progress mw-pt-progress--complete" title="Ontwikkelaars (100% translated)" lang="nl">Nederlands</a> • <a href="/Portal:Developers/tr" class="mw-pt-progress mw-pt-progress--complete" title="Portal:Geliştiriciler (92% translated)" lang="tr">Türkçe</a> • <a href="/Portal:Developers/et" class="mw-pt-progress mw-pt-progress--complete" title="Portal:Arendajad (92% translated)" lang="et">eesti</a> • <a href="/Portal:Developers/es" class="mw-pt-progress mw-pt-progress--complete" title="Desarrolladores (100% translated)" lang="es">español</a> • <a href="/Portal:Developers/fr" class="mw-pt-progress mw-pt-progress--complete" title="Développeurs (100% translated)" lang="fr">français</a> • <a href="/Portal:Developers/it" class="mw-pt-progress mw-pt-progress--complete" title="Portale Sviluppatori Joomla! (100% translated)" lang="it">italiano</a> • <a href="/Portal:Developers/pt" class="mw-pt-progress mw-pt-progress--complete" title="Programadores (100% translated)" lang="pt">português</a> • <a href="/Portal:Developers/pt-br" class="mw-pt-progress mw-pt-progress--complete" title="Portal:Desenvolvedores (90% translated)" lang="pt-BR">português do Brasil</a> • <a href="/Portal:Developers/ru" class="mw-pt-progress mw-pt-progress--complete" title="Разработчикам (100% translated)" lang="ru">русский</a> • <a href="/Portal:Developers/uk" class="mw-pt-progress mw-pt-progress--med" title="Розробникам (46% translated)" lang="uk">українська</a> • <a href="/Portal:Developers/fa" class="mw-pt-progress mw-pt-progress--stub" title="توسعه دهندگان (3% translated)" lang="fa">فارسی</a> • <a href="/Portal:Developers/bn" class="mw-pt-progress mw-pt-progress--complete" title="ডেভেলপারগণ (92% translated)" lang="bn">বাংলা</a> • <a href="/Portal:Developers/th" class="mw-pt-progress mw-pt-progress--complete" title="Portal:นักพัฒนา (92% translated)" lang="th">ไทย</a> • <a href="/Portal:Developers/zh-cn" class="mw-pt-progress mw-pt-progress--complete" title="入口:开发者 (90% translated)" lang="zh-Hans-CN">中文(中国大陆)</a> • <a href="/Portal:Developers/zh-tw" class="mw-pt-progress mw-pt-progress--complete" title="開發者 (100% translated)" lang="zh-Hant-TW">中文(台灣)</a></div></div> <div class="panel text-center white-bkgd"><icon class="fa fa-code fa-5x" style="color:#5091cd;"></icon><span id="main-portal-heading" style="color:#333;">Joomla! Developers Portal</span></div> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1"><a href="#Getting_Started.21"><span class="tocnumber">1</span> <span class="toctext">Getting Started!</span></a></li> <li class="toclevel-1 tocsection-1"><a href="#There_are_four_types_of_extensions_development"><span class="tocnumber">2</span> <span class="toctext">There are four types of extensions development</span></a></li> <li class="toclevel-1"><a href="#Components"><span class="tocnumber">3</span> <span class="toctext">Components</span></a></li> <li class="toclevel-1"><a href="#Plugins"><span class="tocnumber">4</span> <span class="toctext">Plugins</span></a> <ul> <li class="toclevel-2"><a href="#Beginner"><span class="tocnumber">4.1</span> <span class="toctext">Beginner</span></a></li> <li class="toclevel-2"><a href="#Intermediate"><span class="tocnumber">4.2</span> <span class="toctext">Intermediate</span></a></li> <li class="toclevel-2"><a href="#Advanced"><span class="tocnumber">4.3</span> <span class="toctext">Advanced</span></a></li> </ul> </li> <li class="toclevel-1"><a href="#Modules"><span class="tocnumber">5</span> <span class="toctext">Modules</span></a></li> <li class="toclevel-1"><a href="#Templates"><span class="tocnumber">6</span> <span class="toctext">Templates</span></a> <ul> <li class="toclevel-2"><a href="#Beginners"><span class="tocnumber">6.1</span> <span class="toctext">Beginners</span></a></li> <li class="toclevel-2"><a href="#Intermediate_2"><span class="tocnumber">6.2</span> <span class="toctext">Intermediate</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-2"><a href="#More_Development_Topics"><span class="tocnumber">7</span> <span class="toctext">More Development Topics</span></a></li> <li class="toclevel-1"><a href="#Database"><span class="tocnumber">8</span> <span class="toctext">Database</span></a></li> <li class="toclevel-1"><a href="#Localisation"><span class="tocnumber">9</span> <span class="toctext">Localisation</span></a></li> <li class="toclevel-1"><a href="#ACL_Topics"><span class="tocnumber">10</span> <span class="toctext">ACL Topics</span></a></li> <li class="toclevel-1"><a href="#Forms"><span class="tocnumber">11</span> <span class="toctext">Forms</span></a> <ul> <li class="toclevel-2"><a href="#Form_Fields"><span class="tocnumber">11.1</span> <span class="toctext">Form Fields</span></a></li> <li class="toclevel-2"><a href="#Form_Rules_.26_Validation"><span class="tocnumber">11.2</span> <span class="toctext">Form Rules & Validation</span></a></li> </ul> </li> <li class="toclevel-1"><a href="#API_Guides"><span class="tocnumber">12</span> <span class="toctext">API Guides</span></a></li> <li class="toclevel-1"><a href="#Security"><span class="tocnumber">13</span> <span class="toctext">Security</span></a></li> <li class="toclevel-1"><a href="#Contributing_to_Documentation"><span class="tocnumber">14</span> <span class="toctext">Contributing to Documentation</span></a></li> </ul> </div> <p>The development of Joomla! itself is carried out by the <a target="_blank" rel="noreferrer noopener" class="external text" href="https://volunteers.joomla.org/departments/production">Production Department</a> and third party developers. This page is a starting point for developers interested in the development of <a href="/Special:MyLanguage/components" title="Special:MyLanguage/components">components</a>, <a href="/Special:MyLanguage/modules" title="Special:MyLanguage/modules">modules</a>, <a href="/Special:MyLanguage/plugins" title="Special:MyLanguage/plugins">plugins</a> and <a href="/Special:MyLanguage/templates" title="Special:MyLanguage/templates">templates</a>. </p> <div class="panel radius ambox-tip"><div class="subheader-ambox"><icon class="fa fa-lightbulb-o fa-2x" style="color:#000;"></icon><div class="ambox-title">Have an Interest in Core Contributions?<div style="font-size:.7em;float:right"></div></div></div><p class="ambox" style="font-size:.9em;">The development of Joomla itself is carried out by <a target="_blank" rel="noreferrer noopener" class="external text" href="https://volunteers.joomla.org/departments/production">Production Department</a> and third party developers. For more information about Joomla! core development, how to contribute to code to core, or becoming more involved with the core code, you should go to <a href="/Special:MyLanguage/Portal:Joomla!_Code_Contributors" title="Special:MyLanguage/Portal:Joomla! Code Contributors">Joomla! Code Contributors</a>.</p></div> <p><br /> </p> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span id="Getting_Started!"></span><span class="mw-headline" id="Getting_Started.21"><icon class="fa fa-book fa-lg" style="color:#fff;"></icon> Getting Started!</span></h2></span></div> <p>There are several ways of setting up your workstation in for Joomla! development. Some suggestions can be found at <b><a href="/Special:MyLanguage/Setting_up_your_workstation_for_Joomla_development" title="Special:MyLanguage/Setting up your workstation for Joomla development">Setting up your workstation for Joomla development</a></b>. </p><p>Next, you should familiarise yourself with Joomla! <b><a href="/Special:MyLanguage/Secure_coding_guidelines" title="Special:MyLanguage/Secure coding guidelines">Secure coding guidelines</a></b> and the short article on <b><a href="/Special:MyLanguage/Development_Best_Practices" title="Special:MyLanguage/Development Best Practices">Joomla! Development Best Practices</a></b>. </p><p>Documentation on the <b><a target="_blank" rel="noreferrer noopener" class="external text" href="http://api.joomla.org">Joomla! API</a></b> can assist with becoming familiar with the foundations of the Joomla! code base. </p><p>Finally, Joomla! has many resources for developers. Our <b><a href="/Special:MyLanguage/Portal:Resources" title="Special:MyLanguage/Portal:Resources">Joomla! Resources</a></b> page will get you pointed in the right direction if you need help and solutions. </p><p><br /> </p> <h2><span class="mw-headline" id="There_are_four_types_of_extensions_development">There are four types of extensions development</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Developers&action=edit&section=1" title="Edit section: There are four types of extensions development">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p><br /> </p> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Components"><icon class="fa fa-code fa-lg" style="color:#fff;"></icon> Components</span></h2></span></div> <p><br /> There are many articles, tutorials, references and FAQs which focus on component development. If this is your first time developing a component for Joomla, you should start with the <a href="/Special:MyLanguage/Absolute_Basics_of_How_a_Component_Functions" title="Special:MyLanguage/Absolute Basics of How a Component Functions">Absolute Basics of How a Component Functions</a>. If needed, you can visualise the control flow of a component with these <a href="/Special:MyLanguage/Component_Program_Flow" title="Special:MyLanguage/Component Program Flow">diagrams</a>. </p><p>Next, you will want to read our  <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a> MVC tutorial <span style="font-size:1.40em;"> <b>→</b> </span> <a href="/Special:MyLanguage/J3.x:Developing_an_MVC_Component" title="Special:MyLanguage/J3.x:Developing an MVC Component">Developing a Model-View-Controller Component</a>. Remember to familiarise yourself with Joomla! <b><a href="/Special:MyLanguage/Secure_coding_guidelines" title="Special:MyLanguage/Secure coding guidelines">Secure coding guidelines</a></b> and <b><a href="/Special:MyLanguage/Development_Best_Practices" title="Special:MyLanguage/Development Best Practices">Development Best Practices</a></b>. </p><p>Once you have read the tutorial and/or tried the example component, you can focus more on the specifics of your component with additional articles. These are listed on the <a href="/Special:MyLanguage/Portal:Component_Development" title="Special:MyLanguage/Portal:Component Development">Component Development Portal</a> or any of the supporting Portals for Development(Plugins, Modules or Templates). </p> <div class="panel radius ambox-tip"><div class="subheader-ambox"><icon class="fa fa-lightbulb-o fa-2x" style="color:#000;"></icon><div class="ambox-title">For more articles and information:<div style="font-size:.7em;float:right"></div></div></div><p class="ambox" style="font-size:.9em;">See the <a href="/Special:MyLanguage/Portal:Component_Development" title="Special:MyLanguage/Portal:Component Development">Component Development Portal page</a>.</p></div> <p><br /> </p> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Plugins"><icon class="fa fa-plug fa-lg" style="color:#fff;"></icon> Plugins</span></h2></span></div> <p>The following articles will help familiarise you with Joomla! plugins. They are a good starting point to understanding and then developing plugins. </p> <h4><span class="mw-headline" id="Beginner">Beginner</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Plugin_Development/Reading_list/en&action=edit&section=T-1" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>To understand how to install and use a plugin in Joomla it is recommended to read <a href="/Special:MyLanguage/Administration_of_a_Plugin_in_Joomla" title="Special:MyLanguage/Administration of a Plugin in Joomla">Administration of a Plugin in Joomla!</a> </p> <h4><span class="mw-headline" id="Intermediate">Intermediate</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Plugin_Development/Reading_list/en&action=edit&section=T-2" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>To understand plugins better it is advised that you <a href="/Special:MyLanguage/Creating_a_Plugin_for_Joomla" title="Special:MyLanguage/Creating a Plugin for Joomla">create a basic plugin for Joomla!</a>. </p><p>To read on how to run a basic content plugin in a custom module or component you may have already developed it is recommended to read <a href="/Special:MyLanguage/Triggering_content_plugins_in_your_extension" title="Special:MyLanguage/Triggering content plugins in your extension">Triggering content plugins in your extension</a>. </p> <h4><span class="mw-headline" id="Advanced">Advanced</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Plugin_Development/Reading_list/en&action=edit&section=T-3" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <p>To understand the principles on which the Plugin system works <a href="/Special:MyLanguage/Plugin_Developer_Overview" title="Special:MyLanguage/Plugin Developer Overview">Plugin Developer Overview</a>. To then implement this in a component you have designed it is recommended to read <a href="/Special:MyLanguage/Supporting_plugins_in_your_component" title="Special:MyLanguage/Supporting plugins in your component">Supporting plugins in your component</a>. </p> <div class="panel radius ambox-tip"><div class="subheader-ambox"><icon class="fa fa-lightbulb-o fa-2x" style="color:#000;"></icon><div class="ambox-title">For more articles and information:<div style="font-size:.7em;float:right"></div></div></div><p class="ambox" style="font-size:.9em;">See the <a href="/Special:MyLanguage/Portal:Plugin_Development" title="Special:MyLanguage/Portal:Plugin Development">Plugin Development Portal page</a>.</p></div> <p><br /> </p> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Modules"><icon class="fa fa-cubes fa-lg" style="color:#fff;"></icon> Modules</span></h2></span></div> <p><br /> </p> <ul><li><a href="/Special:MyLanguage/J3.x:Creating_a_simple_module" title="Special:MyLanguage/J3.x:Creating a simple module">Creating a simple module for Joomla</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Extensions_name" title="Special:MyLanguage/Extensions name">Extensions name</a></li></ul> <div class="panel radius ambox-tip"><div class="subheader-ambox"><icon class="fa fa-lightbulb-o fa-2x" style="color:#000;"></icon><div class="ambox-title">For more articles and information:<div style="font-size:.7em;float:right"></div></div></div><p class="ambox" style="font-size:.9em;">See the <a href="/Special:MyLanguage/Portal:Module_Development" title="Special:MyLanguage/Portal:Module Development">Module Development Portal page</a>.</p></div> <p><br /> </p> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Templates"><icon class="fa fa-desktop fa-lg" style="color:#fff;"></icon> Templates</span></h2></span></div> <p>Our template development documentation contains many articles, FAQs and tutorials. A first step to developing a template is <a href="/Special:MyLanguage/How_are_templates_executed%3F" title="Special:MyLanguage/How are templates executed?">understanding how templates are executed</a>. </p> <h4><span class="mw-headline" id="Beginners">Beginners</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Template_Development/Reading_list/en&action=edit&section=T-1" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <ul><li><a href="/Special:MyLanguage/Changing_the_site_favicon" title="Special:MyLanguage/Changing the site favicon">Changing the site favicon</a></li> <li><a href="/Special:MyLanguage/Using_Firebug_With_Your_Joomla_Website" title="Special:MyLanguage/Using Firebug With Your Joomla Website">Using Firebug With Your Joomla Website</a></li> <li><a href="/Special:MyLanguage/J3.x:Joomla_Standard_Icomoon_Fonts" title="Special:MyLanguage/J3.x:Joomla Standard Icomoon Fonts">Using Joomla's Default Icomoon Fonts</a></li></ul> <h4><span class="mw-headline" id="Intermediate_2">Intermediate</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Template_Development/Reading_list/en&action=edit&section=T-2" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <ul><li><a href="/Special:MyLanguage/jdoc_statements" title="Special:MyLanguage/jdoc statements">jdoc statements</a></li> <li><a href="/Special:MyLanguage/How_to_cloak_email_addresses" title="Special:MyLanguage/How to cloak email addresses">How to cloak email addresses</a>  <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Understanding_Output_Overrides" title="Special:MyLanguage/Understanding Output Overrides">Understanding Output Overrides</a>  <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/J3.x:Layout_Overrides_in_Joomla" title="Special:MyLanguage/J3.x:Layout Overrides in Joomla">Layout Overrides in Joomla!</a>  <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Creating_clickable_background_images_using_CSS" title="Special:MyLanguage/Creating clickable background images using CSS">Creating clickable background images using CSS</a></li> <li><a href="/Special:MyLanguage/Using_Class_Suffixes" title="Special:MyLanguage/Using Class Suffixes">Using Class Suffixes</a></li></ul> <div class="panel radius ambox-tip"><div class="subheader-ambox"><icon class="fa fa-lightbulb-o fa-2x" style="color:#000;"></icon><div class="ambox-title">For more articles and information:<div style="font-size:.7em;float:right"></div></div></div><p class="ambox" style="font-size:.9em;">See the <a href="/Special:MyLanguage/Portal:Template_Development" title="Special:MyLanguage/Portal:Template Development">Template Development Portal page</a>.</p></div> <div style="clear:both;"></div> <h2><span class="mw-headline" id="More_Development_Topics">More Development Topics</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Developers&action=edit&section=2" title="Edit section: More Development Topics">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <div class="large-4 column"> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Database"><icon class="fa fa-database fa-lg" style="color:#fff;"></icon> Database</span></h2></span></div> <ul><li><a href="/Special:MyLanguage/Accessing_the_database_using_JDatabase" title="Special:MyLanguage/Accessing the database using JDatabase">Accessing the database using JDatabase</a></li> <li><a href="/Special:MyLanguage/Using_the_JTable_class" title="Special:MyLanguage/Using the JTable class">Using the JTable class</a></li> <li><a href="/Special:MyLanguage/Connecting_to_an_external_database" title="Special:MyLanguage/Connecting to an external database">Connecting to an external database</a></li> <li><a href="/Special:MyLanguage/Using_nested_sets" title="Special:MyLanguage/Using nested sets">Using nested sets</a></li></ul> <p><br /> </p> </div> <div class="large-4 column"> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Localisation"><icon class="fa fa-language fa-lg" style="color:#fff;"></icon> Localisation</span></h2></span></div> <ul><li><a href="/Special:MyLanguage/Language_Guidelines_for_3rd_Party_Extensions" title="Special:MyLanguage/Language Guidelines for 3rd Party Extensions">Language Guidelines for 3rd Party Extensions</a> <ul><li><a href="/Special:MyLanguage/Making_templates_translatable" title="Special:MyLanguage/Making templates translatable">Making templates translatable</a></li></ul></li> <li><a href="/Special:MyLanguage/Creating_a_language_definition_file" title="Special:MyLanguage/Creating a language definition file">Creating a language file</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Specification_of_language_files" class="new" title="Special:MyLanguage/Specification of language files (page does not exist)">Specification of language files</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Language_Metadata" title="Special:MyLanguage/Language Metadata">Language Metadata</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Loading_extra_language_files" title="Special:MyLanguage/Loading extra language files">Loading extra language files</a></li> <li><a href="/Special:MyLanguage/Debugging_a_translation" title="Special:MyLanguage/Debugging a translation">Debugging a translation</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li></ul> <p><br /> </p> </div> <div class="large-4 column"> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="ACL_Topics"><icon class="fa fa-users fa-lg" style="color:#fff;"></icon> ACL Topics</span></h2></span></div> <ul><li><a href="/Special:MyLanguage/Access_Control_List" title="Special:MyLanguage/Access Control List">Access Control List</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Adding_ACL_rules_to_your_component" title="Special:MyLanguage/Adding ACL rules to your component">Adding ACL rules to your component</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li></ul> <p><br /> </p> </div> <div style="clear:both;"></div> <div class="large-4 column"> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Forms"><icon class="fa fa-edit fa-lg" style="color:#fff;"></icon> Forms</span></h2></span></div> <h4><span class="mw-headline" id="Form_Fields">Form Fields</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Developers/Forms/en&action=edit&section=T-1" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <ul><li><a href="/Special:MyLanguage/Form_field" title="Special:MyLanguage/Form field">Introduction to the Form classes in Joomla</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a> <a href="/File:Compat_icon_4_x.png" class="image" title="Joomla 4.x"><img alt="Joomla 4.x" src="/images/b/bd/Compat_icon_4_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Standard_form_field_and_parameter_types" title="Special:MyLanguage/Standard form field and parameter types">Joomla Core Form Fields</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a> <a href="/File:Compat_icon_4_x.png" class="image" title="Joomla 4.x"><img alt="Joomla 4.x" src="/images/b/bd/Compat_icon_4_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Creating_a_custom_form_field_type" title="Special:MyLanguage/Creating a custom form field type">Creating a custom form field type</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li> <li><a href="/Special:MyLanguage/Overriding_JFormRules" title="Special:MyLanguage/Overriding JFormRules">Overriding the "Rules" Form Field</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li></ul> <h4><span id="Form_Rules_&_Validation"></span><span class="mw-headline" id="Form_Rules_.26_Validation">Form Rules & Validation</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Portal:Developers/Forms/en&action=edit&section=T-2" title="Edit section: ">edit</a><span class="mw-editsection-bracket">]</span></span></h4> <ul><li><a href="/Special:MyLanguage/Form_validation" title="Special:MyLanguage/Form validation">Form validation</a> <a href="/File:Compat_icon_3_x.png" class="image" title="Joomla 3.x"><img alt="Joomla 3.x" src="/images/4/4d/Compat_icon_3_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a> <a href="/File:Compat_icon_4_x.png" class="image" title="Joomla 4.x"><img alt="Joomla 4.x" src="/images/b/bd/Compat_icon_4_x.png" decoding="async" width="40" height="17" data-file-width="40" data-file-height="17" /></a></li></ul> <p><br /> </p> </div> <div class="large-4 column"> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="API_Guides"><icon class="fa fa-book fa-lg" style="color:#fff;"></icon> API Guides</span></h2></span></div> <p>The Joomla API Guides provide explanations and sample code relating to the Joomla API functions, to help you understand how to use the APIs in your own extensions. <a href="/Special:MyLanguage/API_Guides" title="Special:MyLanguage/API Guides">Click here</a> to get to the index of these guides. </p> </div> <div class="large-4 column"> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Security"><icon class="fa fa-lock fa-lg" style="color:#fff;"></icon> Security</span></h2></span></div> <ul><li><a href="/Special:MyLanguage/How_to_add_CSRF_anti-spoofing_to_forms" title="Special:MyLanguage/How to add CSRF anti-spoofing to forms">How to add CSRF anti-spoofing to forms</a></li> <li><a href="/Special:MyLanguage/Securing_Joomla_extensions" title="Special:MyLanguage/Securing Joomla extensions">Securing Joomla! extensions</a></li> <li><a href="/Special:MyLanguage/Why_do_most_of_the_Joomla!_PHP_files_start_with_defined(%27_JEXEC%27)%3F" title="Special:MyLanguage/Why do most of the Joomla! PHP files start with defined(' JEXEC')?">Why do most of the Joomla! PHP files start with defined(' JEXEC')?</a></li> <li><a href="/Register_globals" title="Register globals">Register Globals best practices</a> (only relevant if your Joomla Site runs on PHP 5.3 or below)</li></ul> <div class="panel radius ambox-tip"><div class="subheader-ambox"><icon class="fa fa-lightbulb-o fa-2x" style="color:#000;"></icon><div class="ambox-title">For more articles and information:<div style="font-size:.7em;float:right"></div></div></div><p class="ambox" style="font-size:.9em;">See the <a href="/Special:MyLanguage/Security" title="Special:MyLanguage/Security">Security Portal page</a>.</p></div> </div> <div style="clear:both;"></div> <div class="panel text-center blue-bkgd"><span id="section-portal-heading"><h2><span class="mw-headline" id="Contributing_to_Documentation"><icon class="fa fa-user-plus fa-lg" style="color:#fff;"></icon> Contributing to Documentation</span></h2></span></div> <p><br /> The development of Joomla developer documentation is carried out primarily by the <a href="/Special:MyLanguage/Documentation_Working_Group" title="Special:MyLanguage/Documentation Working Group">Documentation Working Group</a>. There is currently one sub-projects of interest to developers: </p> <ul><li><a href="/Special:MyLanguage/JDOC:Developer_Tutorials_Project" title="Special:MyLanguage/JDOC:Developer Tutorials Project">Developer Tutorials Project</a></li></ul> <p>When creating a new page, ensure you place the following marker at the bottom of the page so it is included in the category list: </p> <pre>[[Category:Development]]</pre> <p>If you locate other articles you think are relevant to developers, please add this marker to those pages. </p> <!-- NewPP limit report Cached time: 20241118011419 Cache expiry: 86400 Dynamic content: false Complications: [] CPU time usage: 0.162 seconds Real time usage: 0.215 seconds Preprocessor visited node count: 1459/1000000 Post‐expand include size: 18520/2097152 bytes Template argument size: 2922/2097152 bytes Highest expansion depth: 9/40 Expensive parser function count: 0/100 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 4953/5000000 bytes --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 54.816 1 -total 12.93% 7.087 6 Template:Tip 12.26% 6.718 1 Portal:Developers/Intro/en 10.20% 5.591 1 Portal:Component_Development/Reading_list/en 9.71% 5.321 12 Template:Section_portal_heading 8.35% 4.577 6 Template:AmboxNew 8.31% 4.556 1 Portal:Template_Development/Reading_list/en 7.76% 4.252 1 Portal:Module_Development/Reading_list/en 7.17% 3.932 15 Template:JVer 6.99% 3.834 1 Portal:Developers/Forms/en --> <!-- Saved in parser cache with key docsj_mediawiki:pcache:idhash:811-0!canonical and timestamp 20241118011419 and revision id 662570 --> </div></div></div><div class="printfooter"> Retrieved from "<a dir="ltr" href="https://docs.joomla.org/index.php?title=Portal:Developers&oldid=662570">https://docs.joomla.org/index.php?title=Portal:Developers&oldid=662570</a>"</div> <div class="clear_both"></div> </div> <div class="group"><div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/Category:Noindexed_pages" title="Category:Noindexed pages">Noindexed pages</a></li><li><a href="/Category:Development" title="Category:Development">Development</a></li><li><a href="/Category:Joomla!_user_profiles" title="Category:Joomla! user profiles">Joomla! user profiles</a></li></ul></div></div></div> </article> </div> </div> <footer class="row"> <div id="footer"> <div id="footer-left" class="large-8 small-12 columns"> <ul id="footer-left"> <li id="footer-lastmod"> This page was last edited on 18 April 2020, at 21:27.</li> <li id="footer-copyright">Content is available under <a href="/JEDL" title="JEDL">Joomla! EDL</a> unless otherwise noted.<br>Joomla!<sup>®</sup> is a registered trademark of Open Source Matters, Inc.<br>If you are experiencing technical issues with this website, <html><a href="https://github.com/joomla/joomla-websites/issues/new?title=%5Bjdocs%5D%20&body=Please%20describe%20the%20problem%20or%20your%20issue" target="_blank" rel="nofollow">please report it</a><!-- Cached 20241118043620 --> </html>. <br>Notice a content problem? <html><a href="/JDOC:How_to_Contribute_to_Joomla!_Documentation" rel="nofollow">Create an account</a><!-- Cached 20241118043620 --> </html> and fix it.</li> <li id="footer-privacy"><a href="/JDOC:Privacy_policy" title="JDOC:Privacy policy">Privacy policy</a></li> <li id="footer-about"><a href="/JDOC:About" title="JDOC:About">About Joomla! Documentation</a></li> <li id="footer-disclaimer"><a href="/JDOC:General_disclaimer" class="mw-redirect" title="JDOC:General disclaimer">Terms of Service</a></li> </ul> </div> <div id="footer-right-icons" class="large-4 small-12 columns"> <ul id="poweredby"> <li class="copyright"> <a href="https://docs.joomla.org/JEDL" target="_blank"><img src="https://docs.joomla.org/skins/JEDL_icon.png" alt="Joomla! EDL" width="88" height="31" loading="lazy"/></a> </li> <li class="poweredby"> <a href="https://www.mediawiki.org/" target="_blank"><img src="/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a> </li> <li class="rochen"> <a href="https://www.rochen.com/joomla-hosting" target="_blank"><img src="//cdn.joomla.org/rochen/rochen_footer_logo_white.png" alt="Joomla! Hosting by Rochen..." width="88" height="31" loading="lazy"/></a> </li> </ul> </div> </div> </footer> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.162","walltime":"0.215","ppvisitednodes":{"value":1459,"limit":1000000},"postexpandincludesize":{"value":18520,"limit":2097152},"templateargumentsize":{"value":2922,"limit":2097152},"expansiondepth":{"value":9,"limit":40},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":4953,"limit":5000000},"timingprofile":["100.00% 54.816 1 -total"," 12.93% 7.087 6 Template:Tip"," 12.26% 6.718 1 Portal:Developers/Intro/en"," 10.20% 5.591 1 Portal:Component_Development/Reading_list/en"," 9.71% 5.321 12 Template:Section_portal_heading"," 8.35% 4.577 6 Template:AmboxNew"," 8.31% 4.556 1 Portal:Template_Development/Reading_list/en"," 7.76% 4.252 1 Portal:Module_Development/Reading_list/en"," 7.17% 3.932 15 Template:JVer"," 6.99% 3.834 1 Portal:Developers/Forms/en"]},"cachereport":{"timestamp":"20241118011419","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":180});});</script> </body> <!-- Cached 20241118043620 --> </html>