Otra guarrada marca de la casa. Objetivo del 2012, convertirme en un programador más "limpio". Situémonos, se necesita para ciertos tipos de contenidos seleccionados desde la administración de un módulo propio y guardados en variables, añadir al final un div. Evidentemente sin guardarlo en base de datos. Os gustan los requerimientos absurdos? Puedo dar una conferencia! Se podría hacer con un nuevo field (pero no se quiere en db), tpl, views, jquery... pero mola más un pedazo de hook!
Exactamente hook_node_view:
function hynnot_node_view($node, $view_mode, $langcode){
//Solamente para la visualizacion completa del nodo
if($view_mode == 'full'){
// Así hemos guardado las variables en la administracion
if(variable_get('hynnot_'.$node->type)){
// En nuestro caso, concatenamos el div detras del cuerpo en formato string
$strBody = $node->content['body'][0]['#markup'];
$node->content['body'][0]['#markup'] = $strBody . _load_div();
}
}
}
En mi código tengo una función _load_div() que crea un div con otras tres mil historias con prácticamente ninguna sobrecarga al sistema... Pero bueno, podríamos cambiar el valor completo de body, modificarlo, eliminarlo... Anímense, crear líneas de código es gratis! Me siento como Sheldon Cooper: hoy estoy irónico.