drupal planet

CTools plugins system

When we are writing our own module we, as good developers, should allow other people extend/modify some parts of it. Yes we are talking about defining our own module's hooks. But what we can do if we need to "extend" our module in several places but we should be sured that other module that implements one hook should also implement another one? What we should do if we have a lot of such cases and we should take care about consistency of implementations of other modules? Also sometimes we would like user to decide what implementation to run (so we want some kind of administration page where we select what extention to be active).

Drupal 7 show empty fields

In this note I would like to share solution for quite common task: show node fields titles even if field are empty. By default if the field is empty it is not included in the node. But practically sometimes client would like to see title of the field even if the field value is not set. As this task has made me debugging for a while I hope it will save someone else's time.

So solution is to use hook_field_attach_view_alter(). This hook is invoked after field module added fields renderable arrays to the content of the node.

Spatial search with Solr

I would like to introduce new module Search API Location that provides possibility to do spatial search using Apachesolr. At the moment we can search by radius on the map putting the center of the circle. You are welcome to test on Demo site. Technical details Search API Solr module is used for integration with Solr. Search API Location module exports location data to Search API via hook_entity_property_info_alter().

Writing widget for Views Slideshow

There is more or less standard way of building Slideshows in drupal -- Views Slideshow module.

Module really works great and I would like to thank all people involved in it.

But what we should do when we want to change some of the behaviors of the javascripts of it? In my case the task was to change image style (imagecache preset) of the active page thumbnail. By default image style all thumbnails where grayscale, but we needed to make active thumbnail colorful. Like on screenshot image below.

Feeds cheatsheet for developers

In this article I would like to create some notes about architecture of the Feeds module. This is really great module and it is real “must know” when we are talking about regular import of the data from some sources.

There is great documentation available on http://drupal.org/documentation/modules/feeds. Here I try to create a cheatsheet for 7.x version of the module that let developers brief understanding about how things work.

Google Chrome joins Simpletest Selenium framework for Drupal

One of the modules I am involved in is Selenium module. In brief it integrates Selenium2 to simpletest framework of Drupal. From the beginning it was possible to run test in Firefox that opens pages of the simpletest sandbox. As we are in full control of browser we are able to test javascripts in it. This is the main goal of the Selenium integration.

Add custom field to Search API Solr index

Today we are going to talk about really awesome module Search API

One of the most popular tasks I have regarding customizing apachesolr search results is adding new fields to index and to have custom facet for them. So lets discuss how it is done if we are using Search API module.

D7 create zip archive from multiple custom uploaded files

In this article I would like to share another interesting task connected with upload files in D7.

Task is to have custom form that allows to upload multiple files at once and create zip archive from these files on finish.

I really liked the way google mail handles attached files form and tried to implement similar behavior but without writing custom javascript. Thanks to Form API and #ajax property it is very managable. So lets dive into code!

Drupal 7 upload private files easy

One of the new features of the Drupal 7 core is new File API. I would like to show how easy it become to use private file system.

Our task is quite simple: user should be able to upload private files that only he has access to download. Also we will add permission for "administrator" role to download any private file that users have downloaded.

So lets start. First of all we create separate page with form and defining our custom permissions.

Add new step in Commerce checkout

One of new drupal 7 projects I had the task to add new step in checkout process. In this article I would like to share how easy it is now with Drupal Commerce