Pergunta

A saída padrão de formulário API do Drupal é:

<input id="edit-submit" class="form-submit" type="submit" value="Save" name="op"/>

Como eu tema que assim que eu conseguir:

<button id="edit-submit" class="form-submit" type="submit">
  <span>Save</span>
</button>

Eu preciso do espaço-tag interior para que eu possa usar a técnica de portas CSS deslizante.

Eu acho que preciso para substituir theme_button ($ elemento) de form.inc mas minhas tentativas até agora têm sido infrutíferos.

Foi útil?

Solução

A idéia básica para themeing um form_foo se você estiver usando um tema PHP simples (como Chameleon), é escrever uma função chamada theme_form_foo ().

Você também pode elemento tema um (como este botão) especificamente, declarando uma função tema apenas para ele. Consulte https://api.drupal.org/api/drupal /developer%21topics%21forms_api_reference.html/7

Note que, com D6, em ambos os casos você precisa declarar a função no registro tema, caso contrário, Drupal não vai notar essa substituição. Isso não é necessário em D5. Se você estiver usando phptemplate, você vai precisar dele também, embora PHPtemplate cuida do registro fora do gabinete formas: http://drupal.org/node/132442#theme-registry

A documentação para isso está disponível em a.d.o. : http://api.drupal.org/api/file/developer/topics/forms_api.html

Outras dicas

Agora tenho uma função ao longo das linhas

function mytheme_button($element) {
  return "<button><span></span></button>"; # lots of code missing here for clarity
}

A fim de fazê-lo funcionar eu simplesmente limpar o cache e Drupal notado e usou-o automaticamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top