También puede usar el #containerelemento 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 #attributespropiedad.
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'),
); 
                 
                
                
                 
#suffixpropiedad del último elemento, o la#prefixpropiedad 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_divVer 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