При использовании Inline entityform периодически возникает необходимость сделать ее более красивой, более соответсвующей концепту сайта. Есть несколько способо реализации этого, сегодян я расскажу об одном из - использование шаблона темизации.
Так как Inline entityform это обычная форма, значит у нее как миниму должен быть некий hook_alter. Смотрим документацию, которая кстати находиться в самом модуле - inline_entity_form.api.php. В документации нашел нужный hook - hook_inline_entity_form_entity_form_alter.
На входе которого как раз и подается наша inline form.
Следующий шаг добавляем функцию темизации
/**
* hook_inline_entity_form_entity_form_alter
*/
function sm_inline_entity_form_entity_form_alter(&$entity_form, &$form_state) {
// added theme function
$entity_form['#theme'][] = 'inline_entity_form_entity_form_' . $entity_form['#bundle'];
dpm($entity_form);
}
Чуть не забыл сказать, всю магию делаем в template.php нашей формы.
Рассказываю что произошло, что мы сделали в предыдущем пункте? Мы добавили функцию темизаиции для нашей inline form, причем не только для одно а для всех. Функция модуля devel dpm() поможет нам изучить внутренности нашей Inline form
Следующий шаг в нашей магии, это в template.php создать hook_theme и в нем объявить шаблон для нашей inline form
/**
* Implements hook_theme().
*/
function sm_theme($existing, $type, $theme, $path) {
$items['inline_entity_form_entity_form_shoes'] = array(
'render element' => 'form',
'template' => 'inline-entity-form-entity-form-shoes',
// this will set to module/theme path by default:
'path' => drupal_get_path('theme', 'sm') . '/templates/inline_form',
);
return $items;
}
Так же обязательно создаем файл нашего шаблона и ложим его по кути указанным в 'path' hook_theme.
Далее я в шаблон вставляем следующий код
<?php dpm($form); ?> <!--Start inline-entity-form-entity-form-shoes.tpl.php--> <!--@see sm_theme adn template.php--> <div class="row"> <?php print drupal_render_children($form); ?> </div>
Далее смотрим что нам выдаст dpm(), далее используя drupal_render выводим поля в нужном нам порядке

