Joomla! Programming

Joomla! Programming

By: Mark Dexter (author), Louis Landry (author)Paperback

2 - 4 weeks availability


When you master Joomla! programming, you can customize websites in ways that simply aren't possible by tweaking parameters or installing someone else's extensions. Now, there's an authoritative, "soup-to-nuts" programming guide for every Joomla! user: from beginners with no Joomla! development experience to long-time coders seeking a quick start with Joomla!'s powerful new versions, 1.6, 1.7, and 2.5. Joomla!(TM) Programming presents proven best practices for getting the job done right. Written by Mark Dexter and Joomla! design architect Louis Landry (who wrote much of the new Joomla! framework), the text is packed with detailed examples and sample code, in-depth reference-style explanations available nowhere else, and fascinating sidebars revealing why Joomla! works the way it does. Both a tutorial and reference, this title brings together step-by-step instructions for everything from simple tasks (such as template overrides) to cutting-edge techniques involving components, MVC, and the Joomla! framework. You'll learn how to * View Joomla! from a programmer's perspective * Extend Joomla! with layout overrides, plugins, and modules * Take full advantage of Joomla!'s improved new MVC implementation * Build front-end and back-end components, from start to finish * Secure your websites with Joomla!'s powerful, flexible new Access Control Lists * Work with databases and use the new JDatabaseQuery to write complex queries * Program Joomla! with JavaScript via the lightweight MooTools framework * Develop custom category structures for your own websites and extensions * Enable one-click updates for your own custom extensions * Use the Joomla! platform as an application framework All example code, updates, and more information on Joomla! programming are available at the companion website,

Create a review

About Author

Mark Dexter has been writing software since the 1970s. He cofounded and ran a commercial software company for 28 years before retiring to do volunteer work in open source software. Mark first started using Joomla! in 2008 and joined the Production Leadership Team in 2009. He has worked extensively in different areas of the project, including the user forums, Google Summer of Code, documentation and help screens, and the Bug Squad. Mark has actively participated in the Joomla! development process since 2009, including fixing bugs, adding features, and coordinating the release of new Joomla! versions. Mark lives in Seattle, Washington. Louis Landry wrote a large part of the Joomla! framework for version 1.5 and 1.6, and he has been a major design architect for Joomla! for more than five years. His first experience with computers was playing on a 286 with Basic at his father's office. Louis has programmed in many languages, ranging from low level x86 assembly to managed languages like Java and scripting languages like PHP. He was a founding member of his university's robotics team. Louis is a car nut, and enjoys working on them in his spare time. He lives in Silicon Valley in California.


Preface xix Acknowledgments xxvii About the Authors xxix Chapter 1: What Is Joomla! Development? 1 Developing for Joomla Is Not Difficult! 1 Joomla Programming: What Do You Need to Know? 3 Extending Joomla: Let Me Count the Ways 4 Which Extension Type Should I Use for My Project? 14 Using Joomla as a Platform or Framework 15 Summary 16 Chapter 2: Getting Your Workstation Ready for Joomla! Development 17 Requirements to Run Joomla 17 Tools of the Trade 21 Other Tools 38 Summary 39 Chapter 3: How Joomla! Works 41 Tour of Joomla Folders 41 Joomla Platform 56 Web Programming versus "Normal" Programming 58 Anatomy of a Joomla Execution Cycle 61 Naming Conventions (Conventional Wisdom?) 85 Global Objects 85 Overview of Database Tables 86 Summary 89 Chapter 4: Extending Joomla! with Layout Overrides 91 Template Basics 91 Copy Template 105 Template Layout Override of Latest Articles Module 108 Change the Look of a Component: User Registration 121 Alternative Layouts 125 Adding a New Menu Item Layout 126 How Do Layout Overrides Work? 129 Nonlayout Overrides 129 Summary 138 Chapter 5: Extending Joomla! with Plugins 139 What Is a Plugin? 139 How Do Plugins Work? 139 Plugin Types: Where Can You Insert a Plugin? 140 Tour of Selected Core Plugins 142 User Registration Plugin 164 Improved User Registration Plugin 173 Adding Parameters to Our Plugin 179 Using Plugins to Override Core Classes 182 Plugin Best Practices 186 Summary 186 Chapter 6: Extending Joomla! with Modules 187 What Is a Module? 187 Tour of a Core Module 188 Show Articles by the Current Author 197 Summary 227 Chapter 7: Components Part I: Controllers and Models 229 What Is a Component? 229 MVC Design Pattern 230 Back-End Weblinks Component 231 Summary 262 Chapter 8: Components Part II: Views, JForm, and Front End 263 Views and the display() Method 263 WeblinksViewWeblink View 275 Back-End Weblinks Summary 287 Front-End Weblinks Component 288 Summary 304 Chapter 9: Components Part III: Example Component Back End 305 Example Component Functional Overview 305 Detailed Design 306 Back-End Files 307 Subscriptions Manager: Subscriptions Screen 308 Subscriptions Manager: Add and Edit 331 Language Files 349 Installation and Configuration 351 Summary 353 Chapter 10: Components Part IV: Example Component Front End 355 Files Overview 355 Installation XML File 355 Component Entry Point 356 Default Controller 357 Subscription-Category View 359 Subscription View 375 Language File 392 Packaging the Component 394 New Functionality: Back- End Subscriber Report 395 Summary 403 Chapter 11: Working with Your Database 405 Database Overview 405 Creating and Modifying Tables with DDL Commands 407 Using phpMyAdmin 414 Using SQL Data with DML Commands 419 Designing the Table Structure 429 Working with the Database Inside Joomla 432 Summary 442 Chapter 12: JavaScript and MooTools in Joomla! 443 What Is JavaScript? 443 How Does JavaScript Work? 444 What Is MooTools? 444 How JavaScript and MooTools Are Used in Joomla 446 Built-In JavaScript Features 446 Using MooTools Extensions 467 Using AJAX in Joomla 467 Using Other JavaScript Frameworks 471 Summary 473 Chapter 13: Using the Joomla! Platform as an Application Framework 475 What Is the Joomla Platform? 475 Why Have a Separate Project? 475 What Can the Platform Be Used For? 476 Platform Example Programs 477 Subscription Monitoring Example 482 Summary 497 Appendix A: Crash Course on PHP and Object-Oriented Programming 499 PHP File Structure 499 PHP Syntax Basics 500 Common Operators 502 If Statements 503 Switch Statement 505 Looping Statements 505 Alternative Syntax 507 Variables 508 Arrays 508 Constants and Current Directory 510 Functions and Methods 511 Including Files and File Types 512 Object-Oriented Programming Basics 514 Simple Debugging 518 Some Advanced Code Techniques 519 Appendix B: Joomla! Filter Types 523 HTML Filtering 524 Using Filtering in Joomla Applications 524 Appendix C: JHtml Methods 527 Calling JHtml Methods 527 JHtml Class Methods 528 HTML Folder Classes 529 Glossary 533 Index 539

Product Details

  • publication date: 26/03/2012
  • ISBN13: 9780132780810
  • Format: Paperback
  • Number Of Pages: 592
  • ID: 9780132780810
  • weight: 912
  • ISBN10: 013278081X

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly