Estou tendo problemas para usar hook_form_alter()
com o Views 3 e o Drupal 7.
Não consigo adicionar uma instrução if para identificar exclusivamente uma exibição; seja o que for que eu coloquei, a declaração if nunca é considerada verdadeira. No entanto, posso usar facilmente o form_id usando o seguinte, então não tenho certeza de onde estou errado!
if ($form_id == 'views_exposed_form') {
}
Como uso hook_form_alter()
para alterar exclusivamente uma única visão minha?
mymodule_form_views_exposed_form_alter()
vez demymodule_form_alter
, então você pode pular a verificação$form_id
.O que eu faria é dar um passo atrás e ver se você está registrando esse gancho. Muitas vezes
$form_id
a mudança.Processo de depuração:
Código de exemplo (interno
mymodule.module
outemplate.php
arquivo) de drupal.org :Você verá um monte de IDs de formulário impressos, selecione suas visualizações expostas no gancho de formulário e trabalhará a partir daí.
Além disso, com o drupal 7, você pode segmentar formulários específicos por ID diretamente .
Exemplo:
Observe que, se você estiver usando vários formulários expostos, poderá verificar uma visualização específica examinando $ form ['# id'] na função alter form.
Por fim, se isso não funcionar, eu recomendaria revisar esta fila de problemas: Como alterar o filtro nos filtros expostos através do form_alter hook
fonte
Recentemente, também deparei com esse problema, mas estou usando o módulo de recursos em vez do personalizado. Isso me ajudou a resolver o problema.
E então você pode usar o seu hook_form_views_exposed_form_alter ():
fonte