Skip to main content

Articles tagged with "Drupal"

CTools Path Access plugin

18th Mar 2011

I made a new Drupal 7 module today... the CTools Path Access plugin. It is a very simple module that provides a CTools access plugin for using the access rules of another path.

For example, you might set up a custom Panels search page in Page Manager, and just want to use the same access rules that the default Drupal search page uses at /search.

I have submitted the plugin as a patch for CTools itself, but until anything happens with that, it is available as a standalone project. I have only written the plugin with Page Manager...

Read more

Apache Solr boost Drupal search results at query-time

11th Mar 2011

Boosting terms in Solr search results produced by the Apache Solr Search module that integrates Solr with Drupal is something we had to do for a project recently. If a user has come to our website from a search engine, we can pick up the terms that they had originally searched for - and then boost any documents containing those terms in our own search pages, regardless of what they search for on our pages. (So for example, a user searches Google for 'Ski Holidays', comes to our site, and anything ski-related items should be more prominent than they would...

Read more

Changing Display Suite fields in update hooks

10th Feb 2011

We've been using Display Suite with Node displays on one of our latest sites. It was an experiment, and possibly not something we'll do again - DS offers some great functionality with build modes and ways to re-arrange fields and all sorts on nodes, but since we end up theming most nodes quite a lot anyway, it's not worth the extra hassle that Display Suite can add when you want to change the theming on DS fields, layouts, change the fields' settings etc...

We use update hooks to change most things on sites for clients, since this allows us to...

Read more

Creating new field formatters in Drupal 7

3rd Feb 2011

Creating extra field formatters in Drupal 7 is fairly simple, but it can take some poking around in the new Fields code. So here is some sample code to make it easier for you! You can add formats to your own fields -- or existing fields that are defined by other Drupal modules. This is the case for the following example - a formatter for a link field to display the URL as an absolute URL.

First, implement hook_field_formatter_info() to declare your field formatter to the fields API, and implement hook_field_formatter_view() which tells Drupal what to do when viewing the...

Read more

Drupal update hooks in a multi developer environment

17th Jun 2009

With large Drupal projects, especially those in their post-live phase, good code and release managment becomes vital.
Update hooks provide the mechanism by which database changes can be scripted and deployed to the live server, this article assumes you are already well versed with the ways of update hooks.
The two main problems we have with update hooks occur on multi developer projects

Same function is implemented in 2 branches. Imagine the situation where you have 2 seperate branches open on the same project, with different developers working on each branch.
Both branches want to update the module crm_integration so...

Read more

DrupalCamp day 1

15th Jun 2009

A brief summary of some of the cool stuff I picked up from day 1 at DrupalCamp, interestingly most of it wasn't necessarily Drupal related ... day 2 and pics (featuring lots of ComputerMinds lanyards!) etc to follow ...

Hudson - a tool that automates builds, running of unit tests, running of jmeter performance tests and some other loveliness. Configure it to run periodically against your various SVN branches (works with other SCC systems (Git, CVS etc) too I believe). It even has front end with little weather style graphics, rainy if its broke, sunny if it's good, cloudy if...

Read more

Another case of Drupal's sensitivity

25th Mar 2009

If you have a Drupal site with users and you want to allow them to add some profile data about themselves there are a few routes available to you, one of the oldest (and thus simplest) ways is to use profile module. You can add text fields, selects and other bits and bobs to users, with different visibility settings for each field. You also have the chance (in fact it is required that you do) to categorise your fields. These categories then show up as secondary tabs on the user edit page. But what happens when you want to make...

Read more

How to capture SugarCRM leads in Drupal

31st Dec 2008

We are big fans of SugarCRM and have worked on a number of projects to integrate SugarCRM with Drupal. This is a simple guide to performing a basic data capture integration between Drupal and Sugar, using a couple of Drupal modules (webform and sugarwebform). You can see an example of this on our contact us page - feel free to fill the form in, but it is our live contact form so don't be suprised if you get a callback :)

Install the Drupal Sugar modules

We are assuming here that you have both SugarCRM and Drupal up and...

Read more

Drupal 6 tinymce button layout problem

28th Sep 2008

We had a problem today with tinymce on Drupal 6, with a large number of buttons enabled the width of the tinymce button area just kept on growing - not pretty

Adding the following CSS to our Drupal 6 theme solved the tinymce button problem

.defaultSkin table.mceToolbar,
.defaultSkin tr.mceFirst .mceToolbar tr td, 
.defaultSkin tr.mceLast .mceToolbar tr td {

.defaultSkin table.mceToolbar{
Read more

Drupal image assist force a default alt tag

8th Mar 2008

We make heavy use of the Drupal image assist module (or img_assist as its known) - but find that its handling of empty alt tags is quite poor. The problem being that if when inserting the image the user does not specify a caption or description then the alt (and title) attributes are both empty.

This is clearly not ideal on a modern standards compliant site - luckily the solution to the image assist alt tag problem is a little theme override.

function phptemplate_image_display($node, $label, $url, $attributes) {
  if (!$node->title){
    $node_temp = node_load($node->nid);
  return theme('image', $url, $node->title,...
Read more