Правильный способ сделать то, что вы хотите:
function myfunction() {
$output = theme('your_theme_function'); // Create your custom markup.
$output .= drupal_get_form('my_form'); // Create the form markup.
return $output;
}
Ваша тема должна обрабатывать создание вашей разметки. Это можно сделать с помощью функции php или с помощью шаблона и функции предварительной обработки.
Приятно, что вышеуказанный подход заключается в том, что вы подключаетесь к системе тем Drupal и получаете ее гибкость. Если дизайнер хочет изменить HTML, он может сделать это, как обычно. Вы также получаете возможность добавлять шаблоны и другие полезные элементы при использовании системы тем Drupal.
В вашем конкретном случае вы можете знать, что вам нужны все эти хорошие вещи, которые предоставляет Drupal, но вы все равно должны сделать это привычкой кодировать подобные этому. Это сделает ваши модули более гибкими. Также, если вы когда-нибудь захотите внести что-то обратно в виде модуля на drupal.org, кодирование, как это, абсолютно необходимо, если вы хотите, чтобы ваш модуль мог использоваться другими.