También puede usar el #container
elemento de formulario y un código similar al siguiente:
$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'),
);
El elemento #container envuelve sus elementos secundarios con una <div>
etiqueta, cuya clase CSS es la que se pasa en la #attributes
propiedad.
Incluso podría usar un contenedor para el elemento "twitter-icon", pero eso no le da ningún profesional, excepto en el caso de que posiblemente pueda agregar un elemento a eso, como con el siguiente código:
$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
propiedad del último elemento, o la#prefix
propiedad del primer elemento, al nuevo elemento agregado. Como dijiste, esto es menos propenso a errores.¿Es esto lo que estás buscando?
¡Espero que ayude!
fuente
theme_render_example_add_div
Ver api.drupal.org/api/examples/... )También puedes crear un tema para esto.
Y en tu tema de gancho:
Y en la función de tema:
Lo uso en Drupal 6, no estoy seguro si funciona también en D7 pero espero que sí
fuente