Learning Joomla! 3 Extension Development-Third Edition
eBook - ePub

Learning Joomla! 3 Extension Development-Third Edition

  1. 458 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Learning Joomla! 3 Extension Development-Third Edition

Book details
Book preview
Table of contents
Citations

About This Book

A practical guide with step-by-step examples that build on each other so you can learn by doing and get hands-on knowledge about creating your plugins, modules, and components in Joomla."Learning Joomla! 3 Extension Development, Third Edition" is for developers who want to create their own Joomla extensions. It is assumed you will have some basic PHP, HTML, and CSS knowledge, but you don't need any prior Joomla programming experience. This book will also be useful to people who just want to make minor customizations to existing Joomla extensions and build on the work of others in the open source spirit.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Learning Joomla! 3 Extension Development-Third Edition by Tim Plummer in PDF and/or ePUB format, as well as other popular books in Computer Science & Open Source Programming. We have over one million books available in our catalogue for you to explore.

Information

Year
2013
ISBN
9781782168386
Edition
1

Learning Joomla! 3 Extension Development

Third Edition


Table of Contents

Learning Joomla! 3 Extension Development
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Before you Start
Extension types and their uses
Plugins
Modules
Components
Languages
Templates
Libraries
Packages
Joomla! versions that your extensions should support
What's new in Joomla! 3
Licensing and GPL
What business model should I adopt?
Tools you need to develop the Joomla! extensions
Coding standards
Legacy MVC versus new MVC
Upgrading a Joomla! 2.5 component to make it Joomla! 3 compatible
To fork or not to fork?
Summary
2. Getting Started with Plugin Development
Plugin types
Plugin event triggers
Where do I start?
Creating the installation XML file
Creating the plugin PHP file
Zip it up and install your plugin
Adding the parameters to our plugin
Adding the language files
Summary
3. Getting Started with Module Development
Where do I start?
Backend versus frontend modules
Backend modules' installation location
Frontend modules' installation location
Creating the installation XML file
Creating the module PHP file
Creating the view
Connecting to the database
Zip it up and install your module
Packaging your module for distribution
Backwards compatibility for Joomla! 2.5
Making changes to the installation XML file
Adding the CSS styles
Packaging for distribution
Converting to the site module
Translating your module
Adding a help file
Template overrides
Watch out when updating
Alternative layouts
Making your module responsive
Summary
4. Getting Started with Component Development
Where do I start?
Creating the component installation XML file
Creating a simple component
Creating the entry point
Creating the access XML file
Creating the config XML file
Setting up the database
Discover the extension
Creating the controllers
Creating the model for the list view
Creating the model for the edit view
Creating a form
The form XML file
JForm field types
Accesslevel
Cachehandler
Calendar
Captcha
Category
Checkbox
Checkboxes
Chromestyle
Color
Combo
Componentlayout
Contentlanguage
Contenttype
Databaseconnection
Editor
Email
File
Filelist
Folderlist
Groupedlist
Headertag
Helpsite
Hidden
Imagelist
Integer
Language
List
Media
Menu
Menuitem
Modulelayout
Moduleorder
Moduleposition
Moduletag
Password
Plugins
Radio
Rules
Sessionhandler
Spacer
Sql
Tag
Tagnested
Tel
Templatestyle
Text
Textarea
Timezone
Url
User
Usergroup
Creating a view
The list view
The view.html.php file
The helper file
The view layout file
The edit view
The view.html.php file
The view layout file
Installer script
Zip it up and install your component
Summary
5. Backend Component Development – Part 1
Adding additional fields
Adding fields to the model
Category field
State field
Media field
Company field
Phone field
URL field
Description field
Language strings for new fields
Adding fields to the view
Alternative method for displaying fields in the view
Adding fields to the database
Adding columns to your view
Adding simple columns
Click to sort by column
Status column
Ordering column
Toolbar buttons and component options
Component options
View filters and search
Sidebar filters
Changing delete to trash
Filters and search
Summary
6. Backend Component Development – Part 2
Pagination
Adding views and submenu items
The categories view
The preview view
Submenus
Access Control List (ACL)
Global permissions
Component permissions
Category permissions
Article permissions
Access level
Multi-database support
Summary
7. Frontend Component Development
Getting started on the frontend
Creating a view
Adding CSS
Adding sample images
Creating another view
Menu item parameters
Adding a category filter on our menu
Using component options
Width and height parameters
Translating your component
Updating data from the frontend
Creating the list view
Creating the edit form
Using ReCaptcha in your component
ReCaptcha without JForm
Using our click-to-call plugin with this component
Integrating a third-party comments extension
Summary
8. Security – Avoiding Common Vulnerabilities
Why you should care about security
Path disclosure
SQL injection
Local File Inclusion
Remote File Inclusion
Cross-site scripting
Cross-site Request Forgery
Some quick advice
Summary
9. Packing Everything Together
Creating a package
Setting up an update server
Managing database changes
Updating the PHP files
Getting listed on the JED
Summary
10. Extending your Component with Plugins and Modules
Creating a search plugin
Creating a smart search plugin
Creating a featured portfolio module
Adding tags to our component
Summary
Index

Learning Joomla! 3 Extension Development

Third Edition

Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2007
Second edition: December 2008
Third edition: July 2013
Production Reference: 1200713
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-837-9
www.packtpub.com
Cover image by Tim Plummer ()

Credits

Author
Tim Plummer
Reviewers
Alex Andreae
Alan Langford
Acquisit...

Table of contents

  1. Learning Joomla! 3 Extension Development