You are previewing Joomla! 1.5x Customization.
O'Reilly logo
Joomla! 1.5x Customization

Book Description

Create and customize a professional Joomla! site that suits your business requirements

  • Adapt your site to get a unique appearance, features, and benefits of your choice

  • Save on development costs by learning how to do professional work yourself and solve common problems with a Joomla! site

  • Step through how to build an effective subscription-based business with Joomla! and market a site effectively

  • Understand and customize modules, plugins, components, and templates

  • A precise book packed with examples and careful explanations

In Detail

Setting up a basic Joomla! Web site is easy; what comes next is hard and expensive – making the site do exactly what and look exactly how you want. With this book in hand, it is easy to adapt your site to bring your vision fully to life.

This book will help you to separate your site from the crowd of other Joomla! sites without having to invest in developers. It will guide you through how to customize different parts and aspects of your site and will also show you how to turn your site into a profitable business via these customizations. You will be able to build a successful, professional web site that will adapt to all your business needs.

You will be taken beyond the basics of Joomla!, and given an insight into the techniques and tools used by the professionals to rapidly develop unique, custom sites. This will enable you to develop your own professional-quality Joomla! site without assistance, saving you time and money. You will learn how modules, plugins, components, and templates are constructed, and how to make changes in them, giving you the confidence to make more elaborate changes to your site. On top of this will be a look at common problems Joomla! site developers face and how best to deal with them.

You will also learn techniques for building a business with Joomla!, as you step through building a subscription-based web business. Towards the end, you will look at marketing and monetizing this business fully to maximize your return.

Table of Contents

  1. Joomla! 1.5x Customization
  2. Credits
  3. About the Author
  4. About the Reviewers
  5. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Errata
      2. Piracy
      3. Questions
  6. 1. The Skills Required to Customize Joomla!
    1. The architecture of the Internet
    2. HTML
    3. CSS
    4. Server-side scripting and PHP
      1. MVC programming and PHP
    5. Client-side scripting and JavaScript
      1. Asynchronous JavaScript and XML (AJAX)
      2. JavaScript frameworks—Mootools and jQuery
    6. Database work with MySQL and SQL
    7. Summary
  7. 2. Setting Up Our Environment
    1. Types of tools
      1. File transfers
      2. Code editing
      3. Image editing
      4. Web browsing
      5. Database administration
      6. Storing code
        1. Checkout
        2. Update
        3. Commit
        4. Add
        5. Delete
        6. Revert
        7. Ignore
      7. Building locally
    2. Practical—picking our tools
    3. Practical—using our tools
      1. Inspect Element
    4. Summary
  8. 3. Planning Our Site
    1. Why is it so important to plan?
      1. The Frankensite effect
      2. No one can hit a target they don't have
    2. How to plan
      1. Mission
        1. Practical—write our own mission statement
        2. Monetization
          1. Practical—decide our monetization model
        3. Goals
          1. Practical—set our goals
      2. Licenses, encryption, and commercialism
        1. Licenses
          1. Open source
          2. Proprietary
        2. Encryption
        3. Commercialism
      3. Using the Joomla! Extensions Directory and Google
      4. Choosing extensions from our goals
        1. Practical—turning goals into extensions
          1. Display audio and video
          2. Submit pictures of customers' own house to a public gallery
          3. Ask questions to each other and discuss topics
          4. Grow an income from ad-supported free members and subscriptions
          5. Customer comments on our articles
          6. Ability to collect, moderate, and display user testimonials
          7. Convert default web page URLs to human-readable links
      5. Essential extensions
        1. NinjaXplorer
        2. JoomlaPack
        3. JCE
        4. EasySQL
      6. Summary
  9. 4. Installing and Configuring Extensions
    1. Configuring Joomla!
      1. Core extensions
        1. Components
        2. Modules
        3. Plugins
      2. Global Configuration
    2. Configuring content sections and categories
      1. Clearing out the sample content
      2. Creating sections
      3. Creating categories
            1. Buying in Japan
            2. Renting in Japan
            3. General Housing Matters
    3. Configuring extensions
      1. AEC
        1. Subscription plans
        2. Payment gateways
        3. General Configuration
        4. Customization
        5. Micro Integrations
        6. Authentication plugins
        7. PayPal
        8. Creating subscription plans
      2. Joo!BB
        1. Configuring boards
        2. Overall Configuration of Joo!BB
          1. Configuration details
          2. Board settings
          3. Latest post settings
          4. Feed settings
          5. Attachments
          6. View settings
          7. View footer settings
          8. Registration User Settings Defaults
          9. Avatar settings
          10. Captcha settings
      3. !JoomlaComment
        1. General
        2. Security
        3. Posting
        4. Layout
      4. Ninja Custom Gallery
        1. Categories
        2. Custom fields
          1. Buildings
          2. Gardens
          3. Interior
          4. Galleries
          5. Settings
      5. sh404SEF
      6. Other extensions
    4. Summary
  10. 5. Installing and Modifying Templates
    1. Finding a template
    2. Choosing a template
      1. XHTML and CSS validation
      2. Template structure
      3. Extra features
      4. Browser compatibility
      5. Typography
      6. Template performance
    3. Installing a template
    4. Modifying a template
      1. Template images
        1. Image considerations
          1. Image compression and formats
          2. When images aren't visible
          3. Originality and copyright
        2. Finding and modifying images
          1. Vector and bitmap images
        3. Modifying our sample site images
          1. Logos
          2. The showcase area images
          3. Favicon
      2. Template PHP
        1. Editing PHP files
        2. Editing our sample site's PHP
      3. Template CSS
        1. Editing CSS files
        2. Editing our sample site's CSS
    5. Summary
  11. 6. Customizing Modules
    1. Module construction and operation
    2. Module in a module
    3. Module customization
      1. Modifying top ten members
        1. Step 1: Understanding the existing code
          1. en-GB.mod_fbmodule.ini
          2. helper.php
          3. index.html
          4. mod_fbmodule.php
          5. /tmpl/default.php
          6. mod_fbmodule.xml
          7. readme.txt
        2. Step 2: Plan out our changes
          1. Decide our changes
          2. Mark out our changes
        3. Step 3: Make our changes
          1. helper.php
          2. tmpl/default.php
          3. mod_fbmodule.php
          4. mod_fbmodule.xml
        4. Step 4: Install and test our module
    4. Summary
  12. 7. Customizing Plugins
    1. Plugin composition and operation
      1. Plugin types
      2. Authentication
      3. Content
      4. Editors
      5. Editors-XTD
      6. Search
      7. System
      8. User
      9. XML-RPC
    2. Plugin events
      1. Plugin order
    3. Customizing a Plugin
      1. Step 1: Understand the existing code
        1. en-GB.plg_content_njaccess.ini
          1. Description handling in Joomla! Plugins and modules
          2. Our custom Plugin description
        2. njaccess.php
        3. njaccess.xml
        4. The rest?
      2. Step 2: Plan out our changes
        1. Step 2.1: Decide on our changes
        2. Step 2.2: Mark out our changes
          1. en-GB.plg_content_njaccess.ini
          2. njaccess.php
          3. njaccess.xml
      3. Step 3: Make our changes
          1. en-GB.plg_content_aecsubshider.ini
          2. aecsubshider.php
          3. aecsubshider.xml
      4. Step 4: Install and test our Plugin
    4. Summary
  13. 8. Customizing Components
    1. Component composition and operation
      1. Out with the old, in with the new—MVC
        1. Before MVC
        2. After MVC
        3. Execution flow for components
    2. Customizing components
      1. Customizing component output
        1. Change 1: Adding rounded corners to the forum
        2. Change 2: Replace the heading background
        3. Change 3: Replacing the buttons
    3. Summary
  14. 9. Finding and Fixing Problems
    1. Understanding common errors
      1. PHP code
        1. Incorrect extension parameters
          1. Diagnosis
          2. Fixing the problem
        2. PHP code error
          1. Diagnosis
          2. Fixing the problem
        3. PHP version
          1. Diagnosis
          2. Fixing the problem
        4. Server settings
          1. Diagnosis
          2. Fixing the problem
      2. JavaScript code
        1. Library conflicts
          1. Diagnosis
          2. Fixing the problem
            1. Same library loaded twice
            2. Different libraries loaded
        2. Too much JavaScript
          1. Diagnosis
          2. Fixing the problem
        3. Multiple "once per page" scripts
          1. Diagnosis
          2. Fixing the problem
    2. Hacking the core
    3. Solving the unsolvable
      1. Self support
        1. Search the support forum
        2. Search the Internet
        3. Read the Manual/FAQ
        4. Ask a skilled friend
      2. Support requests
        1. Forums
        2. Tickets
        3. Email
      3. Support request etiquette
        1. Act like we respect the helper and their time
        2. Choose our forum/category/email target carefully
        3. Write a useful, meaningful subject line
          1. Please help/I need help/can someone help me/help me!!!!!!!!!!
          2. Urgent/help now/important
          3. Slideshow module doesn't work
          4. Magic Slideshow V1.02—no animations due to JavaScript error
        4. Provide as much information as possible
    4. Summary
  15. 10. Promoting and Tracking
    1. Promoting our site
      1. SEO
        1. Web page URLs
        2. Content
        3. Metadata
        4. Images on our site
          1. Image alt text
          2. Title text
          3. Text surrounding the image
          4. File name
        5. Inbound links
        6. Outbound links
      2. Traditional marketing
        1. Advertisements
        2. Mailing list
        3. Article marketing
        4. Press release marketing
      3. Social marketing
        1. Blogging
        2. Social networking sites
          1. Twitter (www.twitter.com)
          2. Facebook (www.facebook.com)
          3. LinkedIn (www.linkedin.com)
          4. MySpace (www.myspace.com)
        3. Tagging and Social Bookmarking sites
        4. Forums and comments
    2. Tracking visitors to our site
      1. Google Analytics
      2. Tracking visitors
    3. Summary
  16. 11. Monetizing Our Site
    1. The Internet and the free economy
    2. Monetization models
      1. Advertising
        1. Google Adwords
        2. Other advertising services
        3. Private advertisers
        4. Affiliate advertising
      2. Selling information
      3. Selling products
      4. Selling services
    3. Monetization implementations
      1. Freemium
      2. Cross subsidy
      3. Advertising removal
    4. Monetization models for our site
      1. Advertising
        1. Google Adwords
        2. Private advertising
        3. Affiliate advertising
      2. Professional services
      3. Subscriptions
        1. Extra content
        2. Advertising removal
        3. Site benefits
        4. Status
        5. Discounts on services
        6. Discounts from partners
    5. Summary