Drupal

Trabajando con CCK en el archivo template.php

Desde hace buen tiempo quería encontrar una forma de no tener que editar el archivo node.tpl.php para personalizar un campo generado por el modulo Content Construction Kit (CCK). Era una deuda que tenía que saldar algún día. La oportunidad apareció hace unos días cuando desarrollaba una web.

Uso de API de Drupal dentro de editor Geany

Geany es un editor (IDE) muy usado en el mundo de desarrollo de sofware. Lo uso con mucha frecuencia porque me sugiere la sintaxis de PHP apenas comienzo a escribir una función. Mi pregunta entonces fue si podría hacer lo mismo para las funciones de Drupal. Es decir, que me sugiriera la sintaxis correcta apenas comience a escribir una función de Drupal.

Hoy, sin querer tropecé con este enlace

http://www.geany.org/Download/Extras

Y me di cuenta que tenía un enlace para cargar Tags para... Drupal!

Código PHP para embeber vistas en Drupal

<?php
 
$view = views_get_view('filtro_tipo_links');
$view->set_display('filtros');
$view->display_handler->set_option('arguments',array('35,22')); //
para pasar argumentos
$view->display_handler->set_option('items_per_page', 3); //numero de
items por pagina
$view->display_handler->set_option('use_pager', 1); // obvio
$view->display_handler->set_option('pager_element', 1); // para varios
paginadores dentro de una vista
print $view->preview();
 
?>

Módulos pathologic y share

Me he propuesto enviar cuando pueda alguna alerta de módulos que me
parecen muy interesantes. Si alguien se anima puede hacer lo mismo, al
final todos ganamos y si encuentran un módulo que trabaja mejor.. pues
bienvenido!.

Comenzamos:

Pathologic
http://drupal.org/project/pathologic

Es un módulo que soluciona el problema de trabajar con urls relativos
en modo local. Muy útil cuando subimos nuestro site del servidor de
pruebas al servidor de desarrollo y por allí se nos ha escapado un
link absoluto. :)

Share
http://drupal.org/project/share

Trasladar Drupal de un servidor local a un servidor remoto

Si alguna vez han pasado un sitio web de su localhost a su hosting
definitivo deben saber que siempre (siempre!) aparece algún problema.
Bien, hace poco tuve que hacer algo parecido en un hosting que no
tenía acceso por consola ni cpanel. Tenía además una instalación de
Drupal previa que había que borrar.

Van los pasos entonces:

1. Borrado de la base de datos instalada previamente.

No podía usar PhpMyAdmin porque tenía PHP 5.1.6 y para que funcione
necesitaba PHP 5.2. Entonces tuve que programar un script sencillo
para borrar las tablas. Tomé como referencia

uso de drupal_add_js en page.tpl.php

drupal_add_js no funciona en page.tpl.php, se pone en el archivo template.php para que funcione.
function theme055_preprocess_page(&$variables) {
 
 
	$js='$(document).ready(function(){
    $("div#cabecera").flash(
        { src: "/prodialogo/sites/all/themes/theme055/cabecera.swf",
          width: 932,
          height: 192 },
        { version: 8 }
    );
});';
 
 
	drupal_add_js($js,'inline');
 
	$variables['scripts'] = drupal_get_js();
 
}
y en el archivo page.tpl.php va
<div id="cabecera"> </div>

Drupal en ohloh

Tips: Print out available variables

<?php
print '<pre>';
print_r(get_defined_vars());
print '</pre>';
?>
<?php
print '<pre>';
print htmlspecialchars(print_r(get_defined_vars(), TRUE), ENT_QUOTES);
print '</pre>';
?>

modificación de campos de formulario de edición de un nodo en Drupal

Copiado de http://carlos.rinconsanchez.com/como-modificar-el-formulario-de-un-tipo-de-contenido-en-drupal Ponemos en el fichero template.php del theme lo siguiente:
function phptemplate_node_form($form) {   
    drupal_set_message("Reescribiendo el formulario de " . $form['#node']->type);
    if($form['#node']->type) {
        if(file_exists(path_to_theme() . '/forms/form-' . $form['#node']->type . '.tpl.php')) {
            drupal_set_message("Encuentra el fichero y lo reescribe");
            return _phptemplate_callback('forms/form-' .
Distribuir contenido