Después de haber agregado un "cambiado por" en los nodos , ahora necesito mostrar al usuario que modificó cada nodo en el node_admin_content
formulario (en admin/content
) justo al lado de la columna "Autor".
Me las arreglé para resolver esto fácilmente alterando node.admin.inc y agregando solo 2 líneas de código:
...
'changed_by' => t('Changed By'),
...
...
'changed_by' => theme('username', array('account' => user_load($node->changed_by))),
...
Esto, por supuesto, no es una solución adecuada ya que altera el núcleo.
Entonces intenté alterar el formulario a través de:
function hook_form_node_admin_content_alter(&$form, &$form_state, $form_id) {
$form['admin']['nodes']['#header']['changed_by'] = t('Changed By');
// ... ?
}
Usando dpm
puedo ver que el formulario tiene los nodos en opciones. El problema es que este es el resultado de representar los nodos como opciones de tabla. No tengo acceso a los nodos originales, ni quiero volver a ejecutar la consulta de búsqueda de nodos para obtener la información "cambiada por". Supongo que hacer esto en el gancho de la forma no lo resolvería en la capa correcta. ¿O es eso?
Entonces, ¿cuál es una buena manera de alterar el node_admin_content
formulario para agregar más datos que existen en los nodos?
Simplemente reemplace el administrador / contenido con una Vista y luego agregue los campos que desee. Las vistas de administrador incluso lo harán por ti.
fuente
hook_schema()
/hook_schema_alter()
implementaciones?Un poco fuera de tema, pero esta respuesta muestra cómo puede hacer esto mediante programación (por ejemplo, al agregarlo como una actualización del módulo en el archivo MY_MODULE.install).
Necesitará un poco más de trabajo si desea agregar su nuevo campo antes del último campo existente. Combínelo antes del final de $ view-> display ['default'] -> display_options ['fields'] array.
fuente