Zend Framework: как создать вложенную форму с текстовым полем с меткой и кнопкой отправки без? - PullRequest
1 голос
/ 21 января 2011
$sfKeyword = new Zend_Form_SubForm();

// text field
$tfKeyword = $sfKeyword->createElement('text', 'keyword');
$tfKeyword->setLabel('Search Keyword:');

// add elements
$sfKeyword->addElement($tfKeyword);
$sfKeyword->addElement('submit', 'submitSqlKeywordCheckerForm', array('label' => 'Check'));

// prepend labels        
$sfKeyword->setElementDecorators(array(
    'ViewHelper',
    'Errors',
    array('Label', array('placement' => 'prepend')),
));

Я хочу отобразить графический интерфейс типа

[textfield label] [textfield] [submit button]

, но отображается следующее:

[textfield label] [textfield] [submit button label] [submit button]

Проблема с приведенным выше кодом заключается в том, что для кнопки отправки требуется кнопкаметка, которая используется на кнопке, но я не хочу, чтобы метка отображалась слева от кнопки, которую нельзя обойти с помощью декоратора

array('Label', array('placement' => 'prepend')),

У меня есть два варианта:

  1. Подавить текстовую метку кнопки отправки (а не внутри кнопки) ИЛИ

  2. Удалить декоратор метки и вручную добавить простой текст перед текстовым полем

Я понятия не имею, как добавить простой текст в форму без скрытого ввода, который также должен быть помечен, чтобы это тоже не помогло.

Как мне это сделать?Спасибо

1 Ответ

3 голосов
/ 21 января 2011

Если вы хотите удалить ярлык для кнопки отправки, попробуйте только это:

$sfKeyword->getElement('submitSqlKeywordCheckerForm')->removeDecorator('label');

Надеюсь, это вам поможет.

...