Table of Contents
Preface
Chapter 1: The Skills Required to Customize Joomla!
Chapter 2: Setting Up Our Environment
Chapter 3: Planning Our Site
Chapter 4: Installing and Configuring Extensions
Chapter 5: Installing and Modifying Templates
Chapter 6: Customizing Modules
Chapter 7: Customizing Plugins
Chapter 8: Customizing Components
Chapter 9: Finding and Fixing Problems
Chapter 10: Promoting and Tracking
Chapter 11: Monetizing Our Site
Index
- Chapter 1: The Skills Required to Customize Joomla!
- The architecture of the Internet
- HTML
- CSS
- Server-side scripting and PHP
- MVC programming and PHP
- Client-side scripting and JavaScript
- Asynchronous JavaScript and XML (AJAX)
- JavaScript frameworks—Mootools and jQuery
- Database work with MySQL and SQL
- Summary
- Chapter 2: Setting Up Our Environment
- Types of tools
- File transfers
- Code editing
- Image editing
- Web browsing
- Database administration
- Storing code
- Checkout
- Update
- Commit
- Add
- Delete
- Revert
- Ignore
- Building locally
- Practical—picking our tools
- Practical—using our tools
- Inspect Element
- Summary
- Types of tools
- Chapter 3: Planning Our Site
- Why is it so important to plan?
- The Frankensite effect
- No one can hit a target they don't have
- How to plan
- Mission
- Practical—write our own mission statement
- Monetization
- Practical—decide our monetization model
- Goals
- Practical—set our goals
- Mission
- Licenses, encryption, and commercialism
- Licenses
- Open source
- Proprietary
- Encryption
- Commercialism
- Licenses
- Using the Joomla! Extensions Directory and Google
- Choosing extensions from our goals
- Practical—turning goals into extensions
- Display audio and video
- Submit pictures of customers' own house to a public gallery
- Ask questions to each other and discuss topics
- Grow an income from ad-supported free members and subscriptions
- Customer comments on our articles
- Ability to collect, moderate, and display user testimonials
- Convert default web page URLs to human-readable links
- Practical—turning goals into extensions
- Essential extensions
- NinjaXplorer
- JoomlaPack
- JCE
- EasySQL
- Summary
- Why is it so important to plan?
- Chapter 4: Installing and Configuring Extensions
- Configuring Joomla!
- Core extensions
- Components
- Modules
- Plugins
- Global Configuration
- Core extensions
- Configuring content sections and categories
- Clearing out the sample content
- Creating sections
- Creating categories
- Configuring extensions
- AEC
- Subscription plans
- Payment gateways
- General Configuration
- Customization
- Micro Integrations
- Authentication plugins
- PayPal
- Creating subscription plans
- Joo!BB
- Configuring boards
- Overall Configuration of Joo!BB
- !JoomlaComment
- General
- Security
- Posting
- Layout
- Ninja Custom Gallery
- Categories
- Custom fields
- sh404SEF
- Other extensions
- AEC
- Summary
- Configuring Joomla!
- Chapter 5: Installing and Modifying Templates
- Finding a template
- Choosing a template
- XHTML and CSS validation
- Template structure
- Extra features
- Browser compatibility
- Typography
- Template performance
- Installing a template
- Modifying a template
- Template images
- Image considerations
- Finding and modifying images
- Modifying our sample site images
- Template PHP
- Editing PHP files
- Editing our sample site's PHP
- Template CSS
- Editing CSS files
- Editing our sample site's CSS
- Template images
- Summary
- Chapter 6: Customizing Modules
- Module construction and operation
- Module in a module
- Module customization
- Modifying top ten members
- Step 1: Understanding the existing code
- Step 2: Plan out our changes
- Step 3: Make our changes
- Step 4: Install and test our module
- Modifying top ten members
- Summary
- Chapter 7: Customizing Plugins
- Plugin composition and operation
- Plugin types
- Authentication
- Content
- Editors
- Editors-XTD
- Search
- System
- User
- XML-RPC
- Plugin events
- Plugin order
- Customizing a Plugin
- Step 1: Understand the existing code
- en-GB.plg_content_njaccess.ini
- njaccess.php
- njaccess.xml
- The rest?
- Step 2: Plan out our changes
- Step 2.1: Decide on our changes
- Step 2.2: Mark out our changes
- Step 3: Make our changes
- Step 4: Install and test our Plugin
- Step 1: Understand the existing code
- Summary
- Plugin composition and operation
- Chapter 8: Customizing Components
- Component composition and operation
- Out with the old, in with the new—MVC
- Before MVC
- After MVC
- Execution flow for components
- Out with the old, in with the new—MVC
- Customizing components
- Customizing component output
- Change 1: Adding rounded corners to the forum
- Change 2: Replace the heading background
- Change 3: Replacing the buttons
- Customizing component output
- Summary
- Component composition and operation
- Chapter 9: Finding and Fixing Problems
- Understanding common errors
- PHP code
- Incorrect extension parameters
- PHP code error
- PHP version
- Server settings
- JavaScript code
- Library conflicts
- Too much JavaScript
- Multiple "once per page" scripts
- PHP code
- Hacking the core
- Solving the unsolvable
- Self support
- Search the support forum
- Search the Internet
- Read the Manual/FAQ
- Ask a skilled friend
- Support requests
- Forums
- Tickets
- Support request etiquette
- Act like we respect the helper and their time
- Choose our forum/category/email target carefully
- Write a useful, meaningful subject line
- Provide as much information as possible
- Self support
- Summary
- Understanding common errors
- Chapter 10: Promoting and Tracking
- Promoting our site
- SEO
- Web page URLs
- Content
- Metadata
- Images on our site
- Inbound links
- Outbound links
- Traditional marketing
- Advertisements
- Mailing list
- Article marketing
- Press release marketing
- Social marketing
- Blogging
- Social networking sites
- Tagging and Social Bookmarking sites
- Forums and comments
- SEO
- Tracking visitors to our site
- Google Analytics
- Tracking visitors
- Summary
- Promoting our site
- Chapter 11: Monetizing Our Site
- The Internet and the free economy
- Monetization models
- Advertising
- Google Adwords
- Other advertising services
- Private advertisers
- Affiliate advertising
- Selling information
- Selling products
- Selling services
- Advertising
- Monetization implementations
- Freemium
- Cross subsidy
- Advertising removal
- Monetization models for our site
- Advertising
- Google Adwords
- Private advertising
- Affiliate advertising
- Professional services
- Subscriptions
- Extra content
- Advertising removal
- Site benefits
- Status
- Discounts on services
- Discounts from partners
- Advertising
- Summary



