Drupal – The Best and my Favorite Modules

I’ve worked with Drupal in the past for several projects and have come across some modules that have become my favorites. Here they are:

  • Tiny MCE

    This module was the first to integrate Moxiecode’s popular TinyMCE WYSIWYG editor into a Drupal site for editing advance site content.

  • Simple News

    Simplenews publishes and sends newsletters to lists of subscribers. Both anonymous and authenticated users can opt-in to different mailing lists. HTML email can be send by adding Mime Mail module.

  • Views

    The Views module provides a flexible method for Drupal site designers to control how lists and tables of content (nodes in Views 1, almost anything in Views 2) are presented. Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker lists are formatted.

  • Panels

    The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout.

  • Content Construction Kit (CCK)

    The Content Construction Kit allows you to add custom fields to nodes using a web browser.

  • Path Auto

    The Pathauto module automatically generates path aliases for various kinds of content (nodes, categories, users) without requiring the user to manually specify the path alias. This allows you to get aliases like /category/my-node-title.html instead of /node/123.

  • Five Star

    The Five Star voting module adds a clean, attractive voting widget to nodes in Drupal

  • Poor Mans Cron

    A module which runs the Drupal cron operations without needing the cron application.

  • Node Words

    This module allows you to set some meta tags for each node, view or panels page.

  • Global Redirect

    Checks the current URL for an alias and does a 301 redirect to it if it is not being used.

  • Page Title

    This module gives you granular control over the page title. You can specify patterns for how the title should be structured and, on content creation pages, specify the page title separately to the content’s title.

  • XML Sitemap

    The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines.

  • Print

    This module allows you to generate page, email and PDFprinter-friendly versions of any node.

  • Username Check

    This very simple module allows visitors to check username originality quickly using AJAX request during registration (completing registration form).

  • Node Hierarchy

    Node Hierarchy allows nodes to be children of other nodes creating a tree-like hierarchy of content.

Magento – Upgrade to the latest version using Magento Connect

Upgrading Magento to the latest version is a fairly simple task. Copy and Paste this key below VIA Magento Connect where it states “Paste extension key to install:”. This will upgrade Magento to the newest version.

magento-core/Mage_All_Latest

Magento – Get the Current Category

Need to get the current category loaded? No problem! Just use this useful little snippet below. It will return an object of the current category.

<?php
    $currentCategory = Mage::registry('current_category');
?>

Magento – Add a product with custom options to the cart through URL Querystring

Magento is truly a powerful and flexible platform! I enjoy working with it more and more every day. I recently came accross the need to add a product to the cart VIA the Querystring/URL. Guess what? Magento can do it and I’ll show you how!

Simple products are the easiest to add because there are fewer options that need to be passed. The basic structure is as follows.


http://www.mydomain.com/checkout/cart/add?product=[id]&qty=[qty]

Where [id] is the Magento ID of the product and [qty] is the Quantity you wish to add.

To add a simple product with custom options simply add options[id]=[value] to the end. The basic structure is:


http://www.mydomain.com/checkout/cart/add?product=[id]&qty=[qty]&options[id]=[value]

You can get the options id and value by viewing the source of the simple product page and it’s dropdowns.

Using SSH and Unix commands

Having some basic knowledge of SSH and Unix commands is very useful. Developed in 1995, SSH (Secure Shell) was created as a secure alternative to Telnet. Telnet is a protocol allowing for command line access to a Unix, Linux or FreeBSD based remote computer. I’ve listed some basic commands to get you familiar with them.

The cd command is used to move to a specific directory.
Command: cd
Format: cd /directory/to/browse
The cp command will copy the file or folder from the source, to the destination.
Command: cp
Format: cp /directory/source /directory/destination
mkdir creates a directory.
Command: mkdir
Format: mkdir /directory_to_create
The rmdir command deletes a directory.
Command: rmdir
Format: rmdir /directory/to/delete
The rm command deletes a file.
Command: rm -f
Format: rm -f filename
The mv command will rename or move a file stated in the first portion to the name or location stated in the second portion.
Command: mv
Format: mv /directory/you/want/to/rename/or/move /new/directory/name/or/location
This command will tar zip the files in the directory specified in the second portion into a tar file specified in the first portion.
Command: tar cvf
Format: tar cvf filename.tar.gz /directory/you/wish/to/archive
The tar -xvf will extract all files from the tarball specified into the directory you are currently in.
Command: tar -xvf
Format: tar -xvf filename.tar.gz
This will create a zip file, with the name specified in the first portion from the file or directory listed in the second portion.
Command: zip
Format: zip filename.zip /file/or/folder/you/want/to/zip
This command will unzip or un pack the named zip file, into the directory you’re currently in.
Command: unzip
Format: unzip filename.zip
The Ls command lists files, and folders within the directory you specify
Command: ls
Format: ls /directory/you/wish/to/list/files/
This will add a forward slash to the directory names within the directory you specify
Command: ls -f
Format: ls -f /directory/you/wish/to/list/files/
This will show “hidden” files in the directory you specify
Command: ls -a
Format: ls -a /directory/you/wish/to/list/files/
This command shows detailed info about each file in the directory you specify.
Command: ls -l
Format: ls -l /directory/you/wish/to/list/files/

Also, a lightweight, freeware application which supports SSH commands that I use is, PuTTY.