Book Image

Building Websites with ExpressionEngine 2

By : Leonard Murphy
Book Image

Building Websites with ExpressionEngine 2

By: Leonard Murphy

Overview of this book

<p>ExpressionEngine is a flexible, feature-rich content management system used by top designers and web professionals across the world to build and manage their websites. It is written in the world's most popular web scripting language, PHP, and built on the MySQL database server. Are you eager to start creating websites with ExpressionEngine?<br /><br />Written for ExpressionEngine version 2.1 and later, this book will give you clear, concise, and practical guidance to take you from the basics of setting up ExpressionEngine to developing the skills you need to create ExpressionEngine websites to be reckoned with.<br /><br />You will begin with setting up a basic installation of ExpressionEngine. You will then learn how it works, before learning how to create and manage your website in ExpressionEngine. As you progress further into the book you will learn how to build an events calendar and how to build a photo gallery and before you know it, visitors to your website will be able to post comments, search your content, sign-up for a mailing list, and even send their friends an e-mail. As you consider the benefits of buying this book, you will learn how to manage members and member groups, how to optimize your website and avoid repetition, how to remove the index.php file for cleaner URLs, and how to take backups. At the end of the book, you will learn how to update ExpressionEngine to its latest version.</p>
Table of Contents (17 chapters)
Building Websites with ExpressionEngine 2
Credits
About the Author
About the Reviewers
Preface
Solutions to Exercises

Introducing ExpressionEngine


ExpressionEngine makes it easy to separate the HTML code from the content of your website. Once the design of your website is built, you can add new content to the website simply by filling in a web form, which then automatically saves the content to your database. It is easy enough that anyone can learn to do it.

The HTML code that formats the pages exist in templates. However, instead of having paragraphs of content inside these templates, like you would in most HTML files, your content is stored in a database and retrieved dynamically using special ExpressionEngine tags. These tags simplify the process of accessing the database, making it easy to build a database-driven website without any knowledge of database programming.

This separation of the HTML that builds the website from the content that is displayed on your website makes it much easier for the website designer to update the design without any risk of accidentally changing the content, and makes it easier for someone else to update the content without any knowledge of the HTML that builds the website.

With that said, ExpressionEngine also brings value even when you are building your own website. With HTML files, every time you want a new page, you have to create a new file. In ExpressionEngine, one template can be used to generate hundreds of pages of content on your website, with ExpressionEngine using the URL to determine what content to display. Furthermore, snippets and global variables allow you to re-use design elements across multiple templates. Reducing repetition in this way makes it easier for you when there are updates — if the logo changes, you only have one place to update, instead of hundreds of individual pages.

In addition, ExpressionEngine makes it easy to implement advanced features such as RSS feeds, a photo gallery, a mailing list, or a calendar. You can allow visitors to leave comments, or join your site as members.

Finally, ExpressionEngine comes packed with industry-leading features to keep your website secure and spam-free. You can require people to register as members before they can submit comments to your site, you can personally review every comment before it appears on your website, or you can allow non-members to submit a comment if they type in a CAPTCHA correctly (a CAPTCHA is a randomized image of letters that a person must correctly type in order to submit data; it ensures that it is not an automated spambot that is submitting the data).

Furthermore, you can prevent people from submitting the same comment twice, restrict how much data one person can request from your website in a certain timeframe (to prevent denial of service attacks), blacklist certain words so they cannot be used in comments, and blacklist URLs or IP addresses of spammers that you do not want accessing your site.