Joomla! Programming by Mark Dexter | WHSmith Books
Joomla! Programming

Joomla! Programming

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

Up to 2 WeeksUsually despatched within 2 weeks

£35.14 RRP £36.99  You save £1.85 (5%) With FREE Saver Delivery


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,

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

Product Details

  • ISBN13: 9780132780810
  • Format: Paperback
  • Number Of Pages: 592
  • ID: 9780132780810
  • weight: 904
  • 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