Несколько замечаний по коду. Все функции в модулях принято называть с префиксом module_name_. Y вас page callback называется просто main_config, это не очень хорошая практика.
'access callback' => TRUE
Правильней:
'access arguments' => array('access content'),
Нет необходимости использовать функцию t() для поля title в hook_menu(), Drupal сделает это за вас.
И вообще логичней было отрендерить форму без собственного page callback:
Идеально — начать с книг, проникнуться атмосферой и потом уже первая и вторая часть. Но в целом, начав со второй, вы потеряете возможность импортировать настройки из первой и продолжить.
А я работаю, потому что мне нравится. На сколько бы высокооплачиваемой работы не была, не вижу смысла на ней работать, если она не приносит удовольствия и морального удовлетворения.
Было бы интересно почитать статьи о полноценной реализации какого-либо проекта на Symfony 2. Если информация будет новая и понятная, то это всегда нужно.
Правильней:
Нет необходимости использовать функцию t() для поля title в hook_menu(), Drupal сделает это за вас.
И вообще логичней было отрендерить форму без собственного page callback: