Learning Joomla! 1.5 Extension Development


Learning Joomla! 1.5 Extension Development
eBook: $31.99
Formats: PDF, PacktLib, ePub and Mobi formats
$22.39
save 30%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $39.99
$39.99
save 44%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • Program your own Joomla! extensions
  • Master Model-View-Controller design
  • Build configurable site modules to show information on every page
  • Use built-in HTML and JavaScript functions

Book Details

Language : English
Paperback : 284 pages [ 235mm x 191mm ]
Release Date : December 2008
ISBN : 1847196209
ISBN 13 : 9781847196200
Author(s) : Joseph L. LeBlanc
Topics and Technologies : All Books, CMS and eCommerce, Content Management (CMS), Joomla!, Open Source


Table of Contents

Preface
Chapter 1: Joomla! Extension Development: An Overview
Chapter 2: Getting Started with Component Development
Chapter 3: Backend Development
Chapter 4: Frontend Development
Chapter 5: JTable, JHTML, and JUser
Chapter 6: Module Development
Chapter 7: Expanding the Project
Chapter 8: Using JavaScript Effects
Chapter 9: Behind the Scenes: Plug-ins
Chapter 10: Configuration Settings
Chapter 11: Email, Languages, and JFile
Chapter 12: Packing Everything Together
Index
  • Chapter 1: Joomla! Extension Development: An Overview
    • Why extend Joomla!?
      • Customization versus extension
    • How to extend Joomla!
      • Components
      • Modules
      • Plugins
    • Topic overview
      • Creating toolbars and list screens
      • Maintaining a consistent look, and reducing repetitive code by using HTML functions
      • Accessing the database and managing records
      • Security, and the preferred way of getting request variables
      • Menu item control
      • Controlling the logic flow within a component
      • Configuration through XML parameters
      • Packaging and distributing
    • Our example project
    • Summary
  • Chapter 2: Getting Started with Component Development
    • Joomla!'s component structure
      • Executing the component
    • Joomla!'s division of frontend and backend
    • Registering your component in the database
    • Creating toolbars
      • Creating a second toolbar
      • Available toolbar buttons
    • Summary
  • Chapter 3: Backend Development
    • Creating the database table
      • Creating a table class
    • Coding with MVC
    • Creating the review form
    • Processing the data
    • Creating a list screen
    • Editing records
    • Summary
  • Chapter 4: Frontend Development
    • Listing the reviews
    • Displaying a review
    • Generating search-engine-friendly links
      • Building URL segments
      • Parsing URL segments
    • Adding comments
    • Displaying comments
    • Summary
  • Chapter 5: JTable, JHTML, and JUser
    • Overriding JTable methods
      • Adding a check() function
      • Overriding the bind() function
    • Adding ordered records
    • Recording traffic
    • Checking out and checking in records
    • Getting user information
    • Generating elements with JHTML
      • Pre-filled lists
      • Running content plug-ins
      • Using JHTML in the backend
      • Setting access
    • Setting ordering
    • Summary
  • Chapter 6: Module Development
    • Registering the module in the database
    • Creating and configuring a basic module
    • Recruiting some helpers
    • Trying some different layouts
    • Mixing it up
    • Summary
  • Chapter 7: Expanding the Project
    • Publishing records
      • Unpublishing reviews
    • Deleting records
    • Adding Apply
    • Requiring specific fields
    • Using pagination to break up long lists
    • Searching
      • Adjusting the model
      • Adjusting the view
    • Migrating toolbars to views
    • Managing comments
      • Linking the comments controller
    • Summary
  • Chapter 8: Using JavaScript Effects
    • Modal boxes
      • Configuring the modal box
      • The raw format and MVC
    • Tool tips
    • Sliding panes
    • Customizing Google Maps
      • Interactive maps
    • Using jQuery
      • Writing jQuery code
      • Using jQuery with MooTools
      • Always load MooTools first
    • Summary
  • An information box plug-in
  • Searching the reviews
  • Summary
  • Chapter 10: Configuration Settings
    • Adding parameters to extensions
    • Parameters for modules
      • What parameters are available for use?
    • Parameters for plug-ins
    • Parameters for components
      • Adding parameters to the list view
      • Adding parameters to the single view
      • Adding component global parameters
    • Summary
  • Chapter 11: Email, Languages, and JFile
    • Sending emails
      • Linking the form
      • Sending email
      • Adding a success message
    • Managing languages
    • Creating translations
      • Debugging languages
      • Translating the frontend
    • Handling file uploads
      • Using the original filename
    • Summary
  • Chapter 12: Packing Everything Together
    • Listing all of the files
    • Packaging the module
    • Packaging the plug-ins
    • Packaging the component
    • Including SQL queries
    • Creating backend menu items
    • Extra installation scripts
    • Distribution
    • Summary

Joseph L. LeBlanc

Joseph L. LeBlanc started with computers at a very young age. His independent education gave him the flexibility to experiment and learn computer science. Joseph holds a bachelor’s degree in Management Information Systems from Oral Roberts University. Joseph is currently a freelance Joomla! extension developer. He released a component tutorial in May 2004, which was later translated into French, Polish, and Russian. Work samples and open-source extensions are available at www.jlleblanc.com. In addition to freelancing, he is a board member of the DC PHP Conference. He has also worked as a programmer for a web communications firm in Washington, DC.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


Errata

- 23 submitted: last submission 20 May 2013

Errata type: Typo | Page number: 1

The first line should say "Although Joomla! has all of the basic content management tools you need to build a website, it is also designed to run custom-built extensions written in PHP." instead of "Although Joomla! has all of the basic content management tools you need to build a website, it is also designed to also run custom-built extensions written in PHP."

Errata type: Typo | Page number: 2

Line 14: "turns them in to links" should read "turns them into links".

Errata type: Code | Page number: 17

paragraph 1, line 3: "/components/com_reviews/restaurants.php" should be "/components/com_restaurants/restaurants.php"

Errata type: Code | Page number: 17

paragraph 4, line 2: "administrator/components/com_reviews/restaurants.php" should be "/administrator/components/com_restaurants/restaurants.php"

Errata type: Typo | Page number: 18

Line 10: "accidently" should read "accidentally"

Errata type: Typo | Page number: 44

Lines 9-10: "Finally, for the moment display() simply calls the parent JController::display() function for the moment." should read "Finally, display() simply calls the parent JController::display() function for the moment.

Errata type: Code | Page number: 45

Lines 7, 13: "RestaurantModelAll" should read "RestaurantsModelAll"

Errata type: Typo | Page number: 47

Line 26: "there are four hidden variables" should read "there are three hidden variables"

Errata type: Typo | Page number: 74

Line 26: Line 5: "If it has not, it the function proceeds" should read "If it has not, the function proceeds"

Errata type: Typo | Page number: 78

In the table(screenshot) at the bottom of page, type for checked_out_time should be DATETIME instead of VARCHAR.

Errata type: Typo | Page number: 80

"kindergarden" should read "kindergarten"

Errata type: Typo | Page number: 89

3rd Paragraph, 2nd line: "When multiple users attempt to edit the same record in the database conflicts can occur." should read "When multiple users attempt to edit the same record in the database, conflicts can occur."

Errata type: Code | Page number: 91

For the tip on page 91: Instead of $row->checkout($user->id); use $row->checkout($user->id, $id);

Errata type: Code | Page number: 107

Last line: "JParameter" should read "JPagination"

Errata type: Typo | Page number: 116

Last but one line: "the only path" should read "only the path"

Errata type: Code | Page number: 150

paragraph 2, after the code, 2nd line: com_restaurants.commens.search should be com_restaurants.comments.search

Errata type: Typo | Page number: 167

"After clicking on the Read the daily menu link, the modal box should appear as shown below as shown below:" should read "After clicking on the Read the daily menu link, the modal box should appear as shown below:"

Errata type: Typo | Page number: 172

"kindergarden" should read "kindergarten"

Errata type: Typo | Page number: 184

"then move and the mouse over the Homepage link." should read "then move the mouse over the Homepage link."

Errata type: Typo | Page number: 192

1st Paragraph, 4th line: "This allows us to use to use array_search()" should read "This allows us to use array_search()"

Errata type: Code | Page number: 201

1st Paragraph, 4th line: "This allows us to use to use array_search()" should read "This allows us to use array_search()"

Errata type: Typo | Page number: 250

3rd Paragraph, "PHP file and POST size limits that are frequently set as low as two megabytes." should read, "PHP file and POST size limits are frequently set as low as two megabytes."

Errata type: Typo | Page number: 266

Line 4: "and using use the Upload Package File form" should read "and using the Upload Package File form"

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Learning Joomla! 1.5 Extension Development +    Ext JS 3.0 Cookbook =
50% Off
the second eBook
Price for both: $37.40

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Create toolbars, list screens with pagination, and menu items
  • Maintain a consistent look and reduce repetitive code using HTML functions
  • Automate database record management
  • Use the MooTools JavaScript framework to manage customized Google Maps
  • Understand the Model-View-Controller design pattern used in components

In Detail

Joomla! is the world's hottest open-source content management system, and the winner of the 2006 Open Source CMS Prize.

While Joomla! is packed with features, its greatest quality is that it is extremely extensible, allowing any number of complex applications to be cleanly integrated. Shopping carts, forums, social networking profiles, job boards, and real estate listings are all examples of extensions developers have written for Joomla!. All of these can run off one Joomla! site, while only one database, template, and core need to be maintained. When you build an extension to Joomla!, it will inherit the look and feel of the overall site.

If you're eager to start creating extensions for Joomla!, this book is for you. Walk through the development of complete Joomla! 1.5 components and modules with this tutorial for PHP programmers. Written for Joomla! version 1.5 and tested against the final release, this book will get you started coding your first extensions as quickly as possible, and adds the features that will make your work look professional! This book is the most up-to-date introduction to creating Joomla! extensions available.

The book will show you how to use the Model-View-Controller design pattern, pull in common HTML elements, use JavaScript frameworks, manage users, build configuration panels, internationalize interfaces, and manage database records. General knowledge of PHP is assumed, but previous Joomla! programming experience is not.

A rapid and easy-to-follow introductory tutorial to help you use PHP code to create your first Joomla! extensions: modules, components, and plugins.

Approach

This book is a practical tutorial, aimed at people with no experience of programming Joomla!

Who this book is for

This book is suitable for PHP programmers who want to take their first step in customizing and extending the features of Joomla! through custom PHP development. It is not a reference guide for advanced Joomla! developers.

You need only the basics of PHP programming; no experience of developing Joomla! extensions is assumed. You are expected to be familiar with the general operation of Joomla!

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software