Book Image

Drupal 7 First Look

Book Image

Drupal 7 First Look

Overview of this book

Drupal 7 contains features for which site administrators have been clamoring for years, including support for fields, an improved administration interface, better database support, improved theming, and more. You could of course make a laborious search on sites, blogs, and many online tutorials that would promise to update you about every new feature, but there's an even better way to know all about Drupal 7's new features: Drupal 7 First Look is the first and only book that covers all of the fantastic new features in Drupal 7 in depth and covers the process of upgrading your Drupal 6 site to Drupal 7. If you've used Drupal 6 and want to use Drupal 7, you need this book.Drupal 7 First Look takes an in-depth look into all of the major new features in Drupal 7 so you can quickly take full advantage of Drupal 7. It also assists you in upgrading your site to Drupal 7. Some of the new features in Drupal 7 include: Fields API, based on Drupal 6 CCK, which allows you to easily build your own content types Improved user interface for administering your website Built-in support for working with images and files Improved security for the site and users of the site Completely rewritten database layer DBTNG to make working with the database easier and more secure. Improved API for custom module development and user interface theming
Table of Contents (13 chapters)
Drupal 7 First Look
Credits
About the Author
About the Reviewer
Preface
Index

Dynamic query extensions


The DBTNG layer provides developers with the ability to extend the query functionality for Select statements. There are two query extensions that are shipped with core. These allow you to easily page records and enable users to easily sort data displayed in tables. We will look at each in detail next.

Paging records

In Drupal 6, paging was done using a pager_query. In Drupal 7, the easiest way to add pagination to your query is using the PagerDefault query extender. This takes care of automatically loading the current page from the page request to properly display the results for the current page. The extender can be added to the query by calling the extend method:

<?php
  $query = db_select('node', 'n');
  $query->addField('n', array('nid', 'title'));
  $query = $query->extend('PagerDefault')->limit(20);
  $result = $query->execute();
?>

There are a couple of things to note in the previous code. After calling the extend method, you should make sure...