Boa Tarde,
Eu tenho um tipo de conteudo criado em que tenho alguns campos como o email e nome e precisava que tivesse preenchido por defeito esses dados.
O que me está a acontecer é que em Drupal 7 não encontro o PHP filter no default value para conseguir colocar esses dados.
Não sei se existe algum método mais simples para fazer mas eu criei um pequeno módulo para me preencher esses dados.
Estou a preencher assim:
.....
$form['field_question1']['und'][0]['value']['#default_value'] = $user->name;
$form['field_question2']['und'][0]['value']['#default_value'] = $user->mail;
Até aqui tudo optimo. Se eu crio um conteudo esses dados aparecem como deve. Se eu altero esses dados ele guarda-me os dados alterados.
Mas se eu editar o conteúdo ele coloca-me novamente os dados por defeito.
Como ultrapasso isso?
Obrigado.
Sem mais...
Filipe Pinto
Comments
Ver
http://api.drupal.org/api/drupal/modules%21system%21system.api.php/funct...
http://api.drupal.org/api/drupal/modules%21system%21system.api.php/funct...
Validação
Viva,
Valida se o campo está preenchido ou não ;)
Se não estiver preenchido define o valor por defeito!
Tenta assim,
if(!isset($form['field_question1']['und'][0]['value']) {
$form['field_question1']['und'][0]['value']['#default_value'] = $user->name;
}
if(!isset($form['field_question2']['und'][0]['value']) {
$form['field_question2']['und'][0]['value']['#default_value'] = $user->mail;
}
Se por qualquer motivo a chave ['value'] esteja definida mas o valor seja a string vazia tens que adicionar também essa condição aos if.
Ab,