Home > Store > Web Development > Microsoft Expression Studio

larger cover

Add To My Wish List

Joomla! Programming

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Extras
  • Reviews
  • Sample Content

Product Author Bios

Mark Dexter is a Joomla! Development Coordinator, Joomla! Bug Squad Coordinator. He has extensive experience with producing clear, step-by-step instructions for software-related tasks. He has been working with Joomla! for 2.5 years and is a leader on the project.  Mark started writing software in the 1970s on punch cards and, for 28 years, co-owned and ran a company that develops software for construction companies. During this time, he did everything from design and development to support, training, and documentation. After retiring he became the webmaster for a small non-profit organization and discovered Joomla. He made the mistake of pressing the Help button and discovered that most of the help documentation hadn't been written yet. So he volunteered to write documentation and has continued to learn about Joomla and try to contribute to the project. In the Joomla! project, Mark is currently a Bug Squad Coordinator, a Development Coordinator, and the Administrator for the Joomla! Student Outreach Program (JSOP). He has been a moderator on the forums, a member of the Documentation working group, and the Administrator for the 2009 Google Summer of Code program. He also has written four extensions. Mark is especially interested in the area of automated testing using PHPUnit and Selenium. Mark lives in Seattle, WA

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 over 5 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.

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!™ 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, joomlaprogrammingbook.com.

Customer Reviews

11 of 11 people found the following review helpful
4.0 out of 5 stars A solid investment if you are new to Joomla development, April 13, 2012
Amazon Verified Purchase(What's this?)
This review is from: Joomla! Programming (Joomla! Press) (Paperback)
Joomla Programming gives a solid, fairly in-depth overview into the core of the Joomla System, and how to design various extensions for it. Will it make you ready to join the core Development Team...no. But that's not what the book is designed to do. What it does is make accessible the extensible features of Joomla in a coherent way, instead of spending days (or weeks) browsing through their poorly organized and (in my opinion) god-awful community wiki.

I can only hope that the upcoming Joomla Templates (by Angie Radke) covers the templates as in-depth as this book covers the core. That's the one reason I gave this book 4 instead of 5 stars, there's just not enough on templates, which to me is an essential and integral part of Joomla Programming. They also glossed over the MooTools functionality, I would have liked to see more on that.

Also, let's face it, this is the most in-depth book on 2.5 that's out there.

Buy it, unless you are already... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


10 of 12 people found the following review helpful
5.0 out of 5 stars The Great Introduction to Joomla! Development, April 11, 2012
By 
Amazon Verified Purchase(What's this?)
If you are someone who wants to create Joomla! extensions or who just wants to understand how Joomla works "under the hood" this is the book for you.

Joomla is an easy to use, open source content management system used to power millions of websites. Not only is it designed to make it easy to build and manage a website, it also is built to make it easy to add new functionality. This book explains how to extend Joomla in a variety of ways, starting from layout overrides and modules all the way through building platform applications and extending classes.

One of the great things about Joomla being open source, is that you can open up the files and see how things work. This can be a bit overwhelming for non developers -- there is PHP, javascript, HTML, and CSS all working together to make a web page and unified web site. For experienced developers new to Joomla understanding the design patterns and APIs can also take a while. This book works for both audiences. If... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 6 people found the following review helpful
5.0 out of 5 stars The #1 Joomla Programming Book, May 14, 2012
This review is from: Joomla! Programming (Joomla! Press) (Paperback)
I received my copy of Joomla! Programming a couple of weeks ago and I've learned more in those few weeks than from years of reading documentation. Mark and Louis took the time to explain how Joomla works and how to get it to work for you. My background is developing sites, but I always wanted to learn more about the actual programming aspect of Joomla. This book has already given me that and I expect it will continue to do so as I complete it (I'm only about 1/2 way thru!) Highly recommended if you want to learn to create extensions the right way!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 22 customer reviews...

Online Sample Chapter

Extending Joomla! with Plugins

Table of Contents

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

Sample Pages

Download the sample pages (includes Chapter 5 and Index)

 
Best Value

Book + eBook Bundle  $89.98  $53.99

Book Price $39.99
eBook Price $14.00
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $49.99  $39.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $39.99  $31.99

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.