Depois de adicionar um "alterado por" nos nós , agora preciso exibir o usuário que modificou cada nó no node_admin_content
formulário (at admin/content
) ao lado da coluna "Autor".
Eu consegui resolver isso facilmente alterando node.admin.inc e adicionando apenas 2 linhas de código:
...
'changed_by' => t('Changed By'),
...
...
'changed_by' => theme('username', array('account' => user_load($node->changed_by))),
...
Obviamente, essa não é uma solução adequada, pois altera o núcleo.
Então, tentei alterar o formulário via:
function hook_form_node_admin_content_alter(&$form, &$form_state, $form_id) {
$form['admin']['nodes']['#header']['changed_by'] = t('Changed By');
// ... ?
}
Usando dpm
posso ver que o formulário tem os nós nas opções. O problema é que esse é o resultado da renderização dos nós como opções da tabela. Não tenho acesso aos nós originais, nem quero re-executar a consulta de busca do nó para obter as informações "alteradas por". Eu acho que fazer isso no gancho de forma não seria resolvê-lo na camada correta. Ou é?
Então, qual é uma boa maneira de alterar o node_admin_content
formulário para adicionar mais dados que existem nos nós?
Apenas substitua admin / content por uma View e adicione os campos que desejar. As Visualizações de administrador farão isso por você.
fonte
hook_schema()
/hook_schema_alter()
implementações?Um pouco fora do assunto, mas esta resposta mostra como você pode fazer isso programaticamente (por exemplo, adicionando-o como uma atualização de módulo no arquivo MY_MODULE.install.)
Você precisará de um pouco mais de trabalho se desejar adicionar seu novo campo antes do último campo existente. Faça a mesclagem antes do final da matriz $ view-> display ['default'] -> display_options ['fields'].
fonte