Joomla! Programming

Overview

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

See more details below
Paperback
$32.53
BN.com price
(Save 34%)$49.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (7) from $27.32   
  • New (6) from $27.32   
  • Used (1) from $32.35   
Joomla! Programming

Available on NOOK devices and apps  
  • NOOK Devices
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK Study

Want a NOOK? Explore Now

NOOK Book (eBook)
$22.99
BN.com price
(Save 42%)$39.99 List Price

Overview

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.

Read More Show Less

Product Details

  • ISBN-13: 9780132780810
  • Publisher: Addison-Wesley
  • Publication date: 4/9/2012
  • Series: Joomla! Press Series
  • Edition number: 1
  • Pages: 592
  • Sales rank: 643,813
  • Product dimensions: 6.90 (w) x 9.10 (h) x 1.20 (d)

Meet the 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.

Read More Show Less

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

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)