Difference between revisions of "Developers"
From Joomla! Documentation
Line 5: | Line 5: | ||
==Tài nguyên chung== | ==Tài nguyên chung== | ||
{{:{{FULLPAGENAME}}/Resources}} | {{:{{FULLPAGENAME}}/Resources}} | ||
− | + | There are four types of extension development: | |
− | *[[#Components|Component | + | *[[#Components|Phát triển Component]] |
− | *[[#Plugins|Plugin | + | *[[#Plugins|Phát triển Plugin]] |
− | *[[#Templates|Template | + | *[[#Templates|Phát triển Template]] |
− | *[[#Modules|Module | + | *[[#Modules|Phát triển Module]] |
<div class="large-12 column panel radius" style="background:none;"> | <div class="large-12 column panel radius" style="background:none;"> | ||
{{:{{FULLPAGENAME}}/Components}} | {{:{{FULLPAGENAME}}/Components}} |
Revision as of 12:30, 31 March 2014
<translate> The development of Joomla! itself is carried out by the Production Department and third party developers. This page is a starting point for developers interested in the development of components, modules, plugins and templates.</translate>
<translate> The development of Joomla itself is carried out by Production Department 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 Joomla! Code Contributors.</translate>
Tài nguyên chung[edit]
<translate> There are several ways of setting up your workstation in for Joomla! development. Some suggestions can be found at Setting up your workstation for Joomla development.</translate>
<translate> Next, you should familiarise yourself with Joomla! Secure coding guidelines and the short article on Joomla! Development Best Practices.</translate>
<translate> Documentation on the Joomla! API can assist with becoming familiar with the foundations of the Joomla! code base.</translate>
<translate> Finally, Joomla! has many resources for developers. Our Joomla! Resources page will get you pointed in the right direction if you need help and solutions.</translate>
There are four types of extension development:
Components[edit]
{{Portal:Component_Development/Intro/<translate> en</translate>}}
<translate>
Intro to Component Development</translate>
{{Portal:Component_Development/Reading list/<translate> en</translate>}}
<translate>
General Information</translate>
{{Portal:Component_Development/Information/<translate> en</translate>}}
<translate>
FAQs</translate>
{{Portal:Component_Development/FAQs/<translate> en</translate>}}
<translate>
Tutorials</translate>
{{Portal:Component_Development/Tutorials/<translate> en</translate>}}
{{Portal:Plugin_Development/Reading_list/<translate> en</translate>}}
Templates[edit]
Our template development documentation contains many articles, FAQs and tutorials. A first step to developing a template is understanding how templates are executed.
Beginners[edit]
- Changing the site favicon
- Using Firebug With Your Joomla Website
- Using Joomla's Default Icomoon Fonts
Intermediate[edit]
- jdoc statements
- How to cloak email addresses
- Understanding Output Overrides
- Layout Overrides in Joomla!
- Creating clickable background images using CSS
- Using Class Suffixes
More Development Topics[edit]
<translate>
- Accessing the database using JDatabase
- Using the JTable class
- Connecting to an external database
- Using nested sets</translate>
<translate>
Form Fields[edit]
</translate>
- <translate> Introduction to the Form classes in Joomla</translate>
- <translate> Joomla Core Form Fields</translate>
- <translate> Creating a custom form field type</translate>
- <translate> Overriding the "Rules" Form Field</translate>
<translate>
Form Rules & Validation[edit]
</translate>
<translate>
- How to add CSRF anti-spoofing to forms
- Securing Joomla! extensions
- Why do most of the Joomla! PHP files start with defined(' JEXEC')?
- Register Globals best practices (only relevant if your Joomla Site runs on PHP 5.3 or below)</translate>
Misc[edit]
- Retrieving request data using JInput and newer
- Retrieving data from GET and POST requests
- How to use the filesystem package
- Application execution order
- Accessing the current user object
- Adding JavaScript and CSS to the page
- Constants used in the Joomla Framework.
- Create a stand-alone application using the Joomla! Framework
- How to use user state variables
- Cache and Using caching to speed up your code
- Using the installer API to support package installation
- How to add tooltips to your Joomla! website
- Display error messages and notices.
- Sharing layouts across views or extensions with JLayout
- Using JLog
- JSON Responses with JResponseJson
Contributing to Documentation[edit]
<translate> The development of Joomla developer documentation is carried out primarily by the Documentation Working Group. There is currently one sub-projects of interest to developers:</translate> <translate>
- Developer Tutorials Project</translate>
<translate> 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:</translate>
[[Category:Development]]
<translate> If you locate other articles you think are relevant to developers, please add this marker to those pages.</translate>
Suggested topics[edit]
This is a short list of articles that might be written to support developers. Please feel free to add further topic ideas.
- Adding configuration objects to modules and plugins.
- Storing data in the session between page loads.
- Suppressing output of extra HTML.
- Using the filter package.
- Describe how and when to use the Filter package and explain what needs to be filtered for various situations (for queries, for URLs, etc)
- Using the registry package
- How to load and store XML files and how to work with them
- Creating component feeds (RSS/ATOM)
- Generating paths for client side and server side
- Acessing information from the request
- This focuses on using the JBrowser class to retrieve information about the features available in the user's browser.
- Creating an editor plugin
- What can be done with a user plugin
- Cloaking email addresses
- Using the caching system in your component. This might be enough (for now?) → Cache
- Extending Joomla's MVC Architecture
- How to release a distribution tarball.
- Creating a library for your extension(s).