Book Image

Mastering Joomla! 1.5 Extension and Framework Development

By : James Kennard
Book Image

Mastering Joomla! 1.5 Extension and Framework Development

By: James Kennard

Overview of this book

<p><br />Joomla! is the world's hottest open-source content management system, and the winner of the 2006 Open Source CMS Prize. Out of the box, Joomla! does a great job of managing the content needed to make your website sing. But for many people, the true power of Joomla! lies in its application framework that makes it possible for thousands of developers around the world to create powerful add-ons and extensions. Many companies or organizations have requirements that go beyond what is available in the basic Joomla! package or in a freely available extension. Thankfully, Joomla! offers a powerful application framework that makes it easy for developers to create sophisticated add-ons that extend the power of Joomla! into virtually unlimited directions.<br /><br />If you use PHP programming to extend or customize Joomla!, this book is essential reading. If you feel that you've mastered the basics of creating Joomla! extensions, then this book will take you to the next level. Packed with expert advice on all aspects of development with Joomla!, you will learn about best-practice design and coding for Joomla! components, modules, plugins and other extensions. <br /><br />You will also learn about customizing the page output, using JavaScript effects, making use of Web Services from within Joomla! and ensuring that your code is secure and error-free.<br /><br />A unique and comprehensive reference to the main areas of interest within the Joomla! framework is also included in the book.</p> <p><a href="http://www.packtpub.com/article/joomla-one-point-five-extension-framework-table-of-contents"><br /></a></p>
Table of Contents (18 chapters)
Mastering Joomla! 1.5 Extension and Framework Development
Credits
About the Author
About the Reviewers
Preface
Appendix

Layouts (Templates)


Layouts (templates) are used in modules in much the same way as they are in components. Module layouts allow us to define multiple appearances for data.

Layouts are essentially template files, PHP files, which are mainly XHTML interlaced with snippets of PHP. For a complete explanation of how to build template files please, refer to Chapter 9.

Site templates can override module layouts. To render a module using a layout we use the getLayoutPath() method in the static JModuleHelper class. This method determines the location of a template file based on two parameters, the parsed module name and the layout name.

In this example we render the default layout (mod_myextension/tmpl/default.php) using the getLayoutPath() method:

require(JModuleHelper::getLayoutPath('mod_myextension'));

In this example, we render an alternative layout, aptly named ‘alternate’ (mod_myextension/tmpl/alternate.php):

require(JModuleHelper::getLayoutPath('mod_myextension',
                              ...