How To

Zyxware default image1
| 4 min read
Git is one of the most versatile opensource version control systems out there. If you have not already started using Git for your Drupal Development projects, this article should help you get started with it. Please note: I have been using Linux as my development environment, and almost all my illustrations would be for Linux. Still, the commands for using git should be the same for git implementations on all OSes. Please add in a comment if you have any doubts.
Zyxware default image1
| 5 min read
If you are creating a View using the Drupal Views module and if you want to filter nodes based on nids (Node > NID filter) then Views gives you options to filter it based on a single argument of the nid. Currently there is no direct way to have multiple nid filters in Views similar to "Is one of" for Taxonomy. However there is a workaround to achieve that. Read onto find out more.
Zyxware default image4
| 2 min read
Some Drupal users have reported that there was a conflict with an external Jquery script and the Views Ajax. This occured when the Drupal user wanted to use the external script for some specifc purpose. The conflict was causing the Views UI to break. If you are experiencing this issue in your Views read on to find out the solution.
Zyxware default image1
| 2 min read
Some Drupal Views users have encountered a Page not found error when they tried to navigate to the new Views Page files display they had created. This occurred after the preview page worked correctly and showed the correct test file in the table. It is not very clear what causes this error in the first place but there are multiple actions you can take to fix it. Read on to find out more.
Zyxware default image2
| 2 min read
Drupal Gmap module is a very useful module for embedding the functionality of Google Maps in your website. Currently the only way to access this map is to go to the "yoursitee.com/map/node and find all the relevant info on a single map. There is no direct way to access i location nodes on a single map, inside a block or panel pane, or on pages other than yoursitee.com/map/node. However there is a workaround for this. Read on to find out more.
Zyxware default image2
| 2 min read
Drupal Views can be displayed as both blocks and pages. If you want the View to be embedded in a node in your Drupal site then the obvious choice would be to display it as a block. View blocks can be embedded in a node as any other block by calling a set of functions like block_load and drupal_render. However it is not directly possible to pass contextual filters as arguments to those functions if your View uses them. Read on to find out how to pass contextual filters to a View embedded in a node.
Zyxware default image2
| 7 min read
The trick explained briefly We are not actually going to theme the file upload field as it is presently nearly impossible to do that. Instead we are going to put an ordinary looking 'dummy' input text field over the file field. Next we proceed to make the 'original' file upload field invisible but accessible to the user via CSS. So when a user clicks on the dummy input text field they are actually clicking on the file upload field itself. To make it authentic we are going to copy the file path from the file upload field to the text input field via javascript.
Zyxware default image3
| 2 min read
Are you looking for an easy way to delete hundreds and thousands of nodes in your Drupal CMS? We all know how to delete it using the normal admin panel which forces us to select all and clicking the delete button again and again. If you are a lazy person then probably you don't like to waste your time to find some stupid script to delete all nodes. In fact there is no need to do that, since somebody had already done that. I am saying about the Devel Generate module. Yes, Devel Generate to delete nodes!
Zyxware default image1
| 3 min read
While trying to fix an issue with Drupal Views, I wanted to use a single custom table to store the char count of the body field of different content types instead of creating separate CCK fields for each content type to store the same. The question that came to my mind was how to integrate my custom database table with Drupal Views? Drupal's Views module provides a hook for doing this - hook_views_data().
Zyxware default image2
| 3 min read
Cross browser compatibility is one of the most important concerns of an HTML/CSS developer. Here’s how you can easily add shadow effect to your div blocks with cross-browser compatible CSS. Simply add the below code to the div to which the effect is to be added. You can change the size, strength and direction of the shadow in all browsers, except for IE, in which you can change only the strength and direction of the shadow.
Zyxware default image2
| 7 min read
Ecommerce used to be the preferred ecommerce solution for Drupal before Ubercart came into the picture. We recently worked on upgrading a Drupal 5 site with Ecommerce to Drupal 7 with Ubercart. The challenge with this upgrade was that the source data existed only in the D5 database and the corresponding code to programmatically access the ecommerce data was in D5 as well while the destination tables existed only in the D7 database with the corresponding code existing only in the D7 database. The solution we went with was to go for a full SQL query based migration to copy over the Ecommerce data from its tables to the Ubercart tables.
Zyxware default image3
| 2 min read
APC or Alternative PHP Cache (APC) is a free and open opcode cache for PHP. APC allows for caching of opcode generated during PHP script parsing and execution by the Zend engine. If you are using APC 3.1.9 and you are using the default configuration you might run into the error where most PHP requests will return a warning message "PHP Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0"
Zyxware default image2
| 2 min read
This is how you would normally render a view display passing filter inputs via code: $view = views_get_view('view-name'); $view->set_display('display-name'); $view->is_cacheable = FALSE; $filter_1 = $view->get_item('display-name', 'filter', 'filter_1_id'); $filter_2 = $view->get_item('display-name', 'filter', 'filter_2_id'); $filter_1['value'] = "value1"; $filter_2['value'] = "value2"; $view->set_item('display-name', 'filter', 'filter_1_id', $filter_1); $view->set_item('display-name', 'filter', 'filter_2_id', $filter_2); dpm($view->render());
Zyxware default image2
| 3 min read
Blocks are regions on a Drupal website that show small but significant pieces of content. Blocks are an important component from the perspective of a Drupal website. Blocks are usually assigned to regions in a page and they are supposed to be printed on a page. However there are many instances where you might want to print a block within a content. It is not directly possible to assign a block to a region within content (node in Drupal speak) as you can do with a page. But as with everything in Drupal there is a way to do that.
Zyxware default image2
| 3 min read
Keeping the Drupal core and contributed modules up-to-date (at least on the security updates) is one of the essential steps for keeping a Drupal site safe and secure. Running updates of Drupal modules is usually a straightforward mechanism on a Drupal site that is done right. However what will you do if you do not know how things have been built? What will you do if some of the custom modules used are tied down to specific versions of some contributed module? What if there were custom changes on the site. Here is how you can run updates on a Drupal site almost completely safely.