Thursday, January 31, 2013

Menu Minipanels - Module

Megamenus (explanation) built using (mini) Panels, which provides tremendous flexibility in what can be displayed.
Click-by-click beginner's tutorial:


By making additional sub-pages available from the main navigation the module provides a quicker route for visitors to find the pages they are looking for. Used carefully, megamenus can be a great enhancement to a site's UI and can contribute towards improving conversion rates on e-commerce sites, e.g. it helped double the conversion rates on the site the module was originally developed for.

Why MiniPanels?

There are two main reasons why minipanels are used:
  1. Usability: once an initial learning curve is gotten past the module becomes very easy to use.
  2. Flexibility: there is a tremendous amount of configuration available via minipanels and almost anything can be added to one - views, blocks, nodes, other menus, and even raw PHP code if the PHP Filter is enabled. Further, there are multiple layouts available and more can be easily built. Further, each minipanel can be customized differently, as can be seen from some of the example sites below.

Megamenu - Module


Mega menus are a type of drop-down, which seeks to overcome some of the usability drawbacks to traditional style drop-downs. Primarily, mega menus have two advantages:
  1. The information architecture of your navigation is made clearer and is visible all at once
  2. The amount of clicking, searching, and navigating is reduced
This module allows you to build mega menus by leveraging jQuery and the existing Drupal menu system. Megamenu takes a Drupal menu that is 3 levels deep, and converts it into a categorized 3-level mega menu, which is placed into your site as a block.


Taxonomy Access Control Lite - Module

This node_access module governs access to nodes based on the taxonomy terms applied to the nodes. A simple scheme based on taxonomy, roles and users controls which content is visible.
As the name implies, this module shares some functionality with an
earlier module called Taxonomy Access Control (TAC). If you are
shopping around for an access control module to use, consider that one
as well. See this module's README.txt for an explanation of "why yet another access control module".
Here are some key features of tac_lite:
  • Designed to be as simple as possible in installation and administration.
  • Uses Drupal's node_access table, db_rewrite_sql hook and
    taxonomy module to leave the smallest possible footprint while doing
    it's job. For example, it introduces no new database tables.
  • Grant permissions based on roles.
  • Grant permissions per user. (Give a specific user access in addition to what his/her roles allow).
  • Supports view, update and delete permissions.
Bear in mind that, like all modules which use Drupal's built-in node_access features, this module does not prevent users from viewing/editing nodes which Drupal's permission allow them to view/edit. To use, configure Drupal to not grant the permission, then configure tac_lite to grant via the node_access table.

Read More

OM Maximenu - Module

"Maximize your main navigation by adding text, images, videos, slideshow, tabs, menu blocks, user info ..."
That is now possible by using OM Maximenu which can create menus with all other module blocks you want as attachments, modules like views, slideshow, menu, user, nice menus, quicktabs, and custom blocks with tables, lists, images, videos, etc.

Read More

Tuesday, January 22, 2013

warning: strcmp() expects parameter system.module

warning: strcmp() expects parameter 2 to be string, array given in modules\system\system.module on line 1125.
warning: strcmp() expects parameter 2 to be string, array given in modules\system\system.module on line 1125.
warning: strcmp() expects parameter 2 to be string, array given in H:\server\liveserverd\www\go\modules\system\system.module on line 1125.


/** * Helper function to sort requirements. */
function _system_sort_requirements($a, $b) {
+ $a = array('weight','title');
+ $b = array('weight','title');
 if (!isset($a['weight'])) {
 if (!isset($b['weight'])) {
return strcmp($a['title'] ,$b['title']);
 return -$b['weight'];
return isset($b['weight']) ? $a['weight'] - $b['weight'] :
$a['weight']; }

Thursday, January 10, 2013

Thursday, January 3, 2013

Drupal 6 Performance Tips

Using DB Maintenance and Boost

In this chapter, we're going to install, confi gure, and utilize the DB Maintenance and
Boost modules. DB Maintenance will allow us to maintain and optimize our MySQL
database from within the Drupal admin interface. Boost will help us to speed up
page load times on our site for our anonymous site users by using its sophisticated
and advanced page, HTML, CSS, and JavaScript caching mechanisms. We'll look at
basic introductory Boost concepts in this chapter, and later in Chapter 6 we will look
at more advanced topics using the Boost module. Consider this a two part dose of the
Boost module. Both of these contributed modules will help you diagnose problems
on your site and server as well as help to keep your site running smoothly and in
an optimized fashion. These are not required modules, but rather are recommended
modules to add to your Drupal performance arsenal. The way this chapter will work
is that we'll outline the purpose of each module, install and confi gure it, and then use
it on a specifi c topic, for example, within your site. This will give you some practice
using contributed Drupal modules and also a look at the variety of performancebased
modules that are available from the Drupal project community.
By the end of this chapter you will know how to install, confi gure, and use the
following contributed performance modules:
  • DB Maintenance module
  • Boost

only show translated menu items into current language (Drupal 8)

function MY_THEME_preprocess_menu(&$variables) {   if ($variables['menu_name'] == 'brancott-header-menu') {    $langu...