Você também pode usar o #container
elemento do formulário e um código semelhante ao seguinte:
$wrapper = array(
'#type' => 'container',
'#attributes' => array(
'class' => array('class-name'),
),
);
$wrapper['twitter-icon'] => array(
'#type' => 'markup',
'#markup' => '<div class="twitter-icon"></div>'
);
$wrapper['twitter-link'] => array(
'#type' => 'markup',
'#markup' => l(t('follow us on Twitter'), 'https://twitter.com/#!/zujava'),
);
O elemento #container agrupa seus elementos filhos com uma <div>
tag, cuja classe CSS é a que foi passada na #attributes
propriedade
Você pode até usar um contêiner para o elemento "twitter-icon", mas isso não fornece nenhum profissional, exceto no caso de você poder adicionar um elemento a ele, como no código a seguir:
$wrapper = array(
'#type' => 'container',
'#attributes' => array(
'class' => array('class-name'),
),
);
$wrapper['twitter-icon'] => array(
'#type' => 'container',
'#attributes' => array(
'class' => array('twitter-icon'),
),
);
if ($condition) {
$wrapper['twitter-icon']['twitter-icon-text'] => array(
'#type' => 'markup',
'#markup' => t('Icon text'),
);
}
$wrapper['twitter-link'] => array(
'#type' => 'markup',
'#markup' => l(t('follow us on Twitter'), 'https://twitter.com/#!/zujava'),
);
#suffix
propriedade do último elemento ou a#prefix
propriedade do primeiro elemento para o novo elemento adicionado. Como você disse, isso é menos propenso a erros.É isso que você está procurando?
Espero que ajude!
fonte
theme_render_example_add_div
Veja api.drupal.org/api/examples/... )Você também pode criar um tema para isso.
E no gancho do seu tema:
E na função do tema:
Eu uso isso no Drupal 6, não tenho certeza se funciona também no D7, mas espero que sim
fonte