Modificar las funciones de comentarios, parte III con solución correcta
Submitted by oskar on Jue, 30/10/2008 - 16:09
Por fin hemos dado con la solución correcta, sin hackear el core del módulo de Drupal
Gracias develCuy. :)
<?php
/**
* Implementation of hook_form_alter().
*/
function mimodulo_form_alter($form_id, &$form) {
// Si estamos en el formulario de envío de comentarios
if ($form_id == 'comment_form') {
// Quitamos el handler del core
unset($form['#submit']['comment_form_submit']);
// Asignamos nuestro propio handler para guardar el comment
$form['#submit']['mimodulo_comment_submit'] = array();
}
}
/**
* Enmascara el handler que guarda los comentarios.
*/
function mimodulo_comment_submit($form_id, $form_values) {
// $form_values Llega como un formulario
if (is_array($form_values)) {
// Tomamos el ID del Nodo
$nid =& $form_values['nid'];
// Cargamos el nodo
$nodo = node_load($nid);
// Validamos el tipo de contenido
if ($nodo->type == 'forum') {
// 1 unpublished, 0 published
$form_values['status'] = COMMENT_PUBLISHED;
}
}
// Ahora que cambiamos la data, reencien la enviamos al handler del
core
return comment_form_submit($form_id, $form_values);
}
?>Para que funcione en otros sitios sustituimos:
mimodulo por el nombre del módulo que se ha desarrollado
'forum' por el nombre del tipo de contenido que queremos que se apruebe automáticamente.
Un saludo y a disfrutar esto.
Oskar
Trackback URL for this post:
http://www.documentados.com/trackback/175
. Configuración y administración del sitio
Enviar un comentario nuevo