Snippets
Apache Solr on Ubuntu 10.04 running on Jetty
Submitted by ivan on Fri, 25/06/2010 - 21:02Here are my notes on how to setup Apache Solr for a Drupal site on Linode hosting.
Prepare
Make sure you are up to date.
apt-get update apt-get upgrade --show-upgraded
Set your host name.[^1]
echo "awesomeserver" > /etc/hostname hostname -F /etc/hostname
Install Java
You must install Java.
apt-get install openjdk-6-jdk
Install Apache Solr
Go to src director.
cd /usr/local/src
Download Solr.
Set taxonomy option by code
Submitted by ivan on Sun, 14/02/2010 - 16:44You'll need to create a custom module and use the hook_form_alter() function.
function example_form_alter(&$form, $form_state, $form_id) {
$form['taxonomy'][2]['#default_value'] = array(0 => $term->tid);
}Please note that the $form['taxonomy'][2]['#default_value'] is the vocabulary id.
Change select options within a nodereference
Submitted by ivan on Sun, 14/02/2010 - 16:34First you'll have to make use of hook_form_alter() function.
function example_form_alter(&$form, $form_state, $form_id) {
$form['field_example_reference']['#pre_render'] = array('example_change_node_reference');
}Now the node reference will look for a example_change_node_reference() function which will return an array of options.
function example_change_node_reference($element) {
$element['nid']['nid']['#options'] = array($node->nid => $node->title);
return $element;
}How to load a theme region
Submitted by ivan on Sun, 06/12/2009 - 18:00How to load a theme region within code:
print theme('blocks', 'example_node');
How to load comments anywhere within a template
Submitted by ivan on Sun, 06/12/2009 - 17:58Use the following code to load the comment anywhere:
if (function_exists('comment_render') && $node->comment) { print comment_render($node, $node->cid); $node->comment = NULL; }
How to just load the exposed views filter
Submitted by ivan on Sun, 06/12/2009 - 17:55Example of how to load just the exposed views filter:
$view = views_get_view('example_views'); if($view){ $view->set_display('page_1'); $view->init_handlers(); $form_state = array( 'view' => $view, 'display' => $view->display_handler->display, 'method' => 'get', 'rerender' => TRUE, 'no_redirect' => TRUE, ); $output = drupal_build_form('views_exposed_form', $form_state); }else{
Embedding views
Submitted by ivan on Sun, 06/12/2009 - 17:53Example of how to embed a view using views:
print views_embed_view('example_views', 'block_1', $arg)
Using theme_imagecache
Submitted by root on Sun, 06/12/2009 - 17:50How to use imagecache in templates:
theme('imagecache', $preset, $image, $alt);
Using hook_theme
Submitted by ivan on Sun, 06/12/2009 - 17:08Example of using hook_theme.
/** * Implementation of hook_theme(). */ function example_theme() { return array( 'example_taxonomy' => array( 'template' => 'example-taxonomy', 'arguments' => array('node' => NULL, 'options' => NULL), ), 'example_taxonomy_terms' => array( 'arguments' => array('voc' => NULL, 'node' => NULL, 'options' => NULL), ), 'example_front_page' => array( 'template' => 'example-front-page', 'arguments' => array(), ),
Creating menus with hook_menu
Submitted by ivan on Wed, 25/11/2009 - 20:47Example of using hook_menu.
1. Create a empty page with no menu item.
function example_menu() { $items['page/page'] = array( 'page callback' => 'example_page', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK ); return $items; } function example_page() { return 'example page'; }
2. Create admin page.
function example_menu() { $items['admin/settings/example'] = array( 'title' => 'Example config',

