Posted by oskar_calvo on January 9, 2012 at 1:51am
No lo comenté, es un proyecto en d6
Estoy intentando que no se muestre el widget de fivesart.
La idea es que los autores no se puedan votar en sus propias publicaciones. Además de este código he instalado utils, para que mi módulo se ejecute después de widget y asegurarme que se borra, pero no me hace caso.
<?php
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL){
Global $user;
if(($op == 'view') && ($node->type == 'caso_de_mes') && ($user->uid == $node->uid)) {
unset($node->content['fivestar_widget']);
}
}
?>oskar

Comments
Has provado a pasar esa
Has provado a pasar esa logica a preprocess page?.
La lógica no debe hacerse en
La lógica no debe hacerse en el preprocess_page, ya que los preprocess entran más entro del ámbito de las Vistas* , y los hooks del tipo node_api estarían dentro del controlador
Si "arreglas" las cosas en el preprocess piensa que lo estas "arrastrando" y ejecutando en todos los procesos. Si lo "cortas" antes mejorarás en rendimiento.
Un saludo
Oskar
*Pensando en MVC, para mejora siempre el rendimiento.
Puedes probar con un par de
Puedes probar con un par de hooks:
hook_node_view o hook_node_view_alter
Ya me contarás
Gracias gente. Ya he
Gracias gente.
Ya he encontrado el problema*, alguíen había metido una función en el tpl de nodo para que se mostrase el widget aunque lo quites del array del nodo.
Oskar
*Estoy con un proyecto heredado, en el que no hay documentación, y le ha metido mano gente de joomla.