Joomla! được mở rộng và chỉnh theo thiết kế. Các thành phần khác nhau của hệ thống, module, và plugin có thể dễ dàng xác định và có thể được nhắm mục tiêu cho khách hàng. Chương này tập trung vào các vấn đề cơ bản của các tùy chỉnh những yếu tố chính. Linh kiện, yếu tố phức tạp nhất của hệ thống, sử dụng các Model-ViewController kiến trúc sạch segregates logic kinh doanh từ các lớp trình bày | CHAPTER CustomizingJoomla Functionality Joomla is extensible and customizable by design. The system s various components modules and plugins are easily identified and can be targeted for customization. This chapter focuses on the basics of customizing those key elements. Components the system s most complex element employ the Model-ViewController architecture that cleanly segregates the business logic from the presentation layer. Although the MVC architecture helps make the planning and creation of new components simpler component creation remains a challenging and sometimes complex task suited more to experienced programmers. Modules are the most commonly modified element in the system. Managing the customization of modules is relatively easier than working with components and can be done by anyone with basic programming skills and an awareness of the system requirements and architecture. Plugins tend to be focused on providing narrow and sometimes esoteric functonality. And although creating a plugin may require more knowledge of the underlying Joomla framework the Joomla system includes plugin templates that make the creation of new plugins an easy task. In this chapter I take you through the key elements and anatomy of components modules and plugins and discuss how to approach customizing them to suit your needs. Along the way I also look at overriding the output of the system s components and modules. IN THIS CHAPTER Understanding basic principles Using the right tools Discovering the Joomla API Working with components Working with modules Working with plugins 543 Part IV Customizing and Extending the System Understanding Basic Principles Customizing the functionality of the Joomla CMS means modifying or creating components modules and plugins. As you have seen in previous chapters modules and components have varying roles on the front end and on the back end of your site. Plugins are enabling applications that provide extended functionality for other elements