You might find it desirable to place views template files into a module rather than the site theme. If the module is a feature which contains a view and is something that you might want to use on another site, then it makes sense to group the view and it's templates in the same module. The following article describes how to tell views that your module contains views template files and how to tell features that you want to tell views that the module contains views template files.

We are enjoying using the Drupal Commerce Framework. Here are a few programming tips.

When you want even more control over an outputted field than display suite expert mode allows, you can put a theme function in template.php file. This article describes a neat design pattern for developers to use to experiment with a gives an example of how you might use it.

(Corny title, we know :) ) It's not often that we'd do a post on a single module, but today is that day... Extended path aliases: http://drupal.org/project/path_alias_xt

This is just a small post, but also a cautionary tale. From the moment you start working with Drupal and Javascript, you'll notice that the awesome jQuery library is thrown in for free. Not only that, but you've also got jQuery UI...

Some best practice advice on managing multiple users on a remote Linux server. When you might have several users logging into the same server to edit the same files, how should you manage your file permissions, so that they don't lock each other out?

In this article we explain how to trigger an ajax event handled by Drupal 7 at any time and not just on a form submission or link event.

There are a number of ways to access the data stored in a field attached to an entity in code. This blog post demonstrates some of the possible ways using the core functionality and the new Entity API

The above has long been a slightly confusing point since the dawn of the semantic web, when designers and developers moved away from using table elements. If you Google the above, you'll get a mixture of answers, ranging from absolute positioning to negative margins and use of line height. Yet, the simplest answer lies in the past. For a variable amount of text that you want to centre vertically and horizontally, you can use display: table-cell and vertical-align: middle...

Pure CSS Druplicon...

By Graeme Blackwood | 28th October 2011

With all the hype around logos in pure CSS at the moment, I thought I would join in the fun and recreate the Druplicon in CSS.

CTools is a widely used Drupal API module which provides functional frameworks for modules such as Views, Panels, Context and more. In addition to its many uses, it has great JavaScript capabilities. Tutorials on the web only tend to describe how to fire off a CTools AJAX call when clicking on a link. What we will show you is how to fire off a CTools call on other events, such as on page load. To do this, you will need to create a custom module; our code assumes you've called your module 'mymodule'...

On a recent project, we implemented a new content type on an existing Drupal site. One of the requirements of this content type was to allow a high level of user interaction, but also give detailed reporting per-node. To give access to reports per node we added in our own custom tab, we followed the example of node and webform to give the result we wanted. Here’s how you do it...

Agile my Basecamp

By John Ennew | 16th June 2011

Basecamp (http://basecamphq.com) is a great tool for project management and we use it extensively. One of its tools is the ability to specify tasks (called to dos) and order those to dos into lists. Though you can set a required by date for a task, what it is missing is the ability to assign an effort value to those tasks and then provide the sum total effort of all tasks in a list. If you are on an agile team, then knowing the relative size of a task and the sum total of a group of tasks helps when planning the work to be performed in an upcoming iteration (sprint) or the total effort remaining in the backlog of tasks. At Deeson, we thought it would be a good idea to have this functionality so we added it via a custom script for the Firefox Greasemonkey plugin.

Anyone who has worked on websites will have dealt with the issue of cross-browser compatibility – it's one of the accepted headaches of our profession. Also, there are only a handful of browsers that need to be tested for, and they are becoming increasingly standards compliant as they mature. But what about testing rich HTML emails? That is a whole different ballgame, but one that MailChimp fortunately makes much easier.