Difícil

Agregar <span> a primary-links para lograr el efecto 'Sliding Door Tabs'

Para agregar el efecto se puede hacer de dos maneras.

Con jQuery
Esta es muy sencilla, solo hay que agregar un archivo llamado 'script.js' en nuestro theme y poner dentro:

// Wrap span tags around the anchor text in the primary menu.
$(document).ready(function(){
  $("#primary li a")
  .wrapInner("<span>" + "</span>");
});

Utilizando theme_links
La manera correcta de hacer esto es utilizando lo que se llama un override de una función. Para esto vamos a poner en template.php lo siguiente:


<?php
/**

Convertir multiple select en radios o checkboxes

Este pequeño módulo lo que hace es convertir, para el puro caso de taxonomías, una lista de selección de términos múltiples en la que usamos Control para seleccionar opciones, en una lista de checkboxes o radios, lo cual es mas conveniente y más sencillo para el usuario.

El artículo original incluye la posiblidad de hacer esto para Drupal 5.x, sin embargo en este caso solo vamos a analizar el caso para Drupal 6.x. El artículo original es: http://drupal.org/node/84286

Para hacer esto tenemos que crear un módulo llamado alterform, mismo que se incluye al final como attachment.

Ocultar un Tab en una página de organic groups y reemplazarla con otro valor.

Para ocultar un Tab en particular (menu_local_task) en una página determinada lo podemos hacer de varias maneras, para Drupal 6.x lo podemos hacer con un preprocess de la siguiente manera.


<?php
function phptemplate_preprocess(&$variables, $hook) {

if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if ($hook == 'page') {
if ($node->type == 'community') {
theme_removetab('View', $variables);
}
if ($node->type != 'community') {
theme_removetab('Home', $variables);
}
}
}

return $variables;
}

No mostrar fieldsets en Views Filter Block

Override theme function para no mostrar los fieldsets en Views Filter Block


<?php
function theme_views_filterblock($form) {

//check output mode, fieldset or plain list
if(variable_get('views_filterblock_style', 'plain') == 'fieldset'){
return theme_views_filterblock_fieldsets($form);
}

$view = $form['view']['#value'];
//drupal_set_message(''.print_r($view,TRUE).'');
// make the 'q' come first
$output = drupal_render($form['q']);

foreach ($form as $field => $value) {

Cargar el nodo con node load

Esto nos sirve para cargar el nodo y después cargar ciertas variables relativas al nodo:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
  
// do something
}
?>

Poner imágenes en primary links

Si queremos poner una imagen al lado de un link en el menú de primary links, tenemos que reemplazar:

<?php
print theme('links', $primary_links, array('class' => 'links primary-links'))
?>

en page.tpl.php con:

<?php
         
foreach( $primary_links as $key => $item){
             
$primary_links[$key]['title'] = '<span>'.$item['title'].'</span>';
             
$primary_links[$key]['html'] = true;
          }
          print
theme('links', $primary_links, array('class' => 'links primary-links'))
?>

Colorear el fondo de algunos renglones de una tabla de acuerdo a un campo

Para resaltar información en una vista de acuerdo a cierta información usamos en template.php esto:


<?php
function theme_views_view_table_cases_all($view, $nodes, $type) {
$fields = _views_get_fields();

foreach ($nodes as $node) {
$row = array();
foreach ($view->field as $field) {
if ($fields[$field['id']]['visible'] !== FALSE) {
$cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view);

if($node->casetracker_case_case_status_id == "8")
{

Crear Gráficas Gantt con Eventos en Organic Groups

Esto nos sirve para crear gráficas Gantt asociadas a un nodo de eventos, dentro de organic groups.

Fuente: http://drupal.org/node/226598

Quitar 'item-list' de las listas en views

Este código, al crear una vista y editar la forma en que se ve, nos sirve para mostrar una lista con espacios entre sus elementos, y no como lista, por lo que quitamos el 'item-list', básicamente se puede editar para mostrar lo que queramos. Esto va en el código de template.php que se genera cuando se está personalizando una vista con el Theme Wizard.

Hay que reemplazar:

return theme('item_list', $items);

con:

return implode(" ",$items);

Excluir el nodo actual en una vista con nodos similares

Para excluir el nodo que se esta viendo de una lista de nodos del mismo tipo de contenido o de la misma categoría, usamos como argumento Node: NID y agregamos el siguiente código:

<?php
if ( ($type=='block') && is_numeric(arg(1)) ){
 
$args[0] = arg(1);
}

return
$args;
?>

Syndicate content