Переопределить форму с помощью PHPTemplate - PullRequest
1 голос
/ 08 марта 2011

Мне было интересно, как мне переопределить внешний вид формы в Drupal 7, используя PHPTemplate.У меня есть некоторые трудности с отображением всей информации на моей странице.

У меня есть страница с формой и другой информацией.

Я пробовал:

foo.module

function foo_add_form($form, &$form_state, $foo) {

  ...

  $form['#theme'] = 'foo_add';

  return $form;
}

function foo_theme($existing, $type, $theme, $path) {
  return array(
    'foo_add' => array(
      'template' => 'foo-add',
      'render element' => 'form',
    ),
  );
}

foo-add.tpl.php

<?php
    // First form
    print drupal_render_children($form);
?>
<!-- Miscellaneous information -->
    <div id="links">
        <ul>...</ul>
        <form action="#" method="post" id="second-form">
            <fieldset id="i-want">
             ...
                </fieldset>
                    ...
            </form>
    </div>

В данный момент отображается форма и другая информация.Однако, вторая форма (id = "second-form") как-то удаляется.Я вижу это в источнике, но когда я проверяю элемент с помощью chrome / firefox, я больше не вижу элемент формы.Хотя я вижу теги div, ul и fieldset.

Кто-нибудь делал это раньше?

1 Ответ

0 голосов
/ 08 марта 2011

Как правило, вы не добавляете в форму на слое темы.Вместо этого вы бы использовали пользовательский модуль, реализующий hook_form_alter для изменения формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...