Joomla! 1.5 Development Cookbook
-
Free ChapterDevelopment using JoomlaCode.org and SVN
- Development using JoomlaCode.org and SVN
- Introduction
- Setting up a JoomlaCode.org project
- Managing members of a JoomlaCode.org project
- Setting up JoomlaCode.org Subversion
- Understanding the Subversion skeleton
- Understanding revisions in Subversion
- Understanding the Subversion process
- Checking out a Subversion repository using TortoiseSVN
- Editing a working copy using TortoiseSVN
- Inspecting changes using TortoiseSVN
- Updating a working copy and resolving conflicts using TortoiseSVN
- Committing changes using TortoiseSVN
- Exporting a working copy using TortoiseSVN
-
Keeping Extensions Secure
-
Working with the Database
- Working with the Database
- Introduction
- Executing a query
- Loading the first cell from the result of a query
- Loading the first record from a query
- Loading more than one record from a query
- Handling DBO errors
- Creating a JTable
- Creating a new record using a JTable
- Updating a record using a JTable
- Reading an existing record using a JTable
- Deleting a record using a JTable
- Checking a record in and out (record locking) using a JTable
- Modifying record ordering using a JTable
- Publishing and unpublishing a record using a JTable
- Incrementing a record hit counter using a JTable
-
The Session and the User
- The Session and the User
- Introduction
- Getting the session handler
- Adding data to the session
- Getting session data
- Checking for session data
- Checking the session token
- Getting the user
- Determining if the current user is a guest
- Getting the user's name and username
- Getting the user's group ID and type
- Restricting a user's access using Public, Registered, and Special
- Getting the user's parameters
- Setting the user's parameters
- Extending and editing user parameters
- Sending an email to the user
-
Multilingual Recipes
- Multilingual Recipes
- Introduction
- Creating a translation
- Translating some text
- Determining the character length of a UTF-8 string
- Removing leading and trailing UTF-8 whitespace
- Comparing UTF-8 strings
- Finding a UTF-8 string in a UTF-8 string
- Executing a regular expression on a UTF-8 string
- Reversing a UTF-8 string
- Extracting a substring from a UTF-8 string
- Replacing occurrences of a UTF-8 string in a UTF-8 string
- Accessing characters in a UTF-8 string by position
- Converting a string from one encoding to another
- Creating a UTF-8 aware database installation script
-
Interaction and Styling
- Interaction and Styling
- Introduction
- Getting page and component parameters
- Adding CSS to a page
- Overriding component templates
- Adding JavaScript to a page
- Creating a modal window
- Generating modal content
- Updating an element using Ajax and MooTools
- Updating an element based on a form using Ajax and MooTools
- Providing an Ajax response from a component
- Enabling pagination in a list of items
-
Customizing the Document
- Customizing the Document
- Introduction
- Setting the document title
- Setting the document generator
- Setting the document description
- Adding metadata to the document
- Changing the document character set
- Changing the document MIME type
- Controlling client caching of responses
- Creating a PDF in a component
- Creating an RSS or Atom feed in a component
- Outputting a RAW document from a component
- Using a custom JDocument in a component (PHP 5 only)
-
Customizing the Backend
- Customizing the Backend
- Introduction
- Disabling the menu bar
- Setting the toolbar title and icon
- Adding common item manipulation buttons to the toolbar
- Adding common itemized manipulation buttons to the toolbar
- Adding custom buttons to the toolbar
- Adding spacers and dividers to the toolbar
- Adding a help system to a component
- Creating a filter header for tabular data in an MVC component
- Filtering tabular data in an MVC component
- Creating toggle-enabled order column headers for tabular data in an MVC component
- Ordering tabular data in an MVC component
-
Keeping it Extensible and Modular
- Keeping it Extensible and Modular
- Introduction
- Loading plugins
- Invoking a plugin
- Creating a Joomla! search plugin
- Creating your own library and import function
- Installing a plugin programmatically during a component installation
- Managing categories the easy way
- Defining JParameters using XML
- Creating a JParameter object
- Rendering a JParameter object
- Saving JParameter data
- Getting and setting values in a JParameter object
- Defining your own JParameter type
-
JObjects and Arrays
- JObjects and Arrays
- Introduction
- Getting a JObject property
- Getting all of the public JObject properties
- Setting a JObject property
- Setting a batch of JObject properties
- Reporting an error in a JObject
- Getting an error from a JObject
- Getting all errors from a JObject
- Converting an object to an array
- Converting an array to an object
- Getting a column from a multidimensional array
- Getting a value from an array
- Casting all elements of an array to integers
- Sorting an array of objects
- Imploding an array
-
Error Handling and Reporting
- Error Handling and Reporting
- Introduction
- Raising an error-level J!error
- Raising a warning-level J!error
- Raising a notice-level J!error
- Enqueuing a message
- Changing the default J!error handling
- Handling and raising a bespoke J!error
- Logging errors and events using JLog
- Throwing exceptions with PHP 5
- Catching exceptions with PHP 5
-
Files and Folders
Joomla! is the world's hottest open-source content management system. Out of the box, Joomla! does a great job of managing the content needed to make your website sing. Many Joomla! developers face common implementation hurdles, some might want to rapidly extend the Joomla! core functionality or might want to create new and exciting extensions.
This book has a "wealth" of solutions for problems that Joomla! developers face regularly. It provides step-by-step mini examples which show how to overcome common design and implementation problems when creating Joomla! extensions. It will help you setup a sustainable collaborative development environment using the powerful free services offered by JoomlaCode.org.
This book can be used in different ways. It can be used by the pro Joomla! developer looking for a specific solution to a problem and can also be used by a novice developer looking for an insight into an area of common problems, such as effectively handling errors in Joomla! Readers who choose to read an entire chapter will first be given a brief overview of the topic in hand and its role and importance when developing for Joomla! The Recipes contained within the chapter will introduce the reader to specific problems and provide hands-on solutions. It provides solutions for core design topics including security, data access, users, sessions, and multilingual capabilities.
- Publication date:
- September 2009
- Publisher
- Packt
- Pages
- 360
- ISBN
- 9781847198143