Zend Form Decorators для темы

У меня появилась новая тема, для которой мне нужно отредактировать декораторы.

Большая часть из них у меня заработала, за исключением флажка и радио.

<!-- Previously -->
<div class="form-group ">
    <label for="mobileTheme" class="col-lg-2 control-label optional">Mobiel thema</label>
    <div class="col-lg-5">
        <div class="checkbox">
            <input type="hidden" name="mobileTheme" value="0" />
            <input type="checkbox" name="mobileTheme" id="mobileTheme" value="1" class=" " />
        </div>
        <span class="help-block">Redirect mobiele gebruikers naar een eigen domein met eigen thema</span>
    </div>
</div>

<!-- After -->
<div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
        <div class="checkbox">
            <label>
                <input type="checkbox" value="">
                <i class="input-helper"></i>
                Remember me
            </label>
        </div>
    </div>
</div>

Мой декоратор сейчас выглядит так:

'checkbox' => array(
            'decorators' => array(
                'ViewHelper',
                array(array('input' => 'HtmlTag'), array('tag' => 'div', 'class' => 'checkbox')),
                array('Errors', array('class' => 'help-inline')),
                array('Description', array('tag' => 'span', 'class' => 'help-block')),
                array('Label', array('class' => 'col-lg-2 control-label')),
                array('HtmlTag', array('tag' => 'div', 'class' => 'col-lg-5')),
                'ElementWrapper'
            ),
            'options' => array(
                'class' => '',
            ),
        ),

Проблема, с которой я борюсь, заключается в том, что я не знаю, как правильно заказать декораторы, чтобы метка теперь находилась в классе col-*-*.


person IMarks    schedule 10.08.2016    source источник


Ответы (1)


У меня это работает,

'checkbox' => array(
            'decorators' => array(
                'ViewHelper',
                array('AdditionalElement', array('placement' => 'APPEND', 'tag' => 'i', 'class' => 'input-helper')),
                array(array('input' => 'HtmlTag'), array('tag' => 'div', 'class' => 'checkbox')),
                array('Errors', array('class' => 'help-inline')),
                array('Description', array('tag' => 'span', 'class' => 'help-block')),
                array('HtmlTag', array('tag' => 'div', 'class' => 'col-lg-5')),
                array('Label', array('class' => 'col-lg-2 control-label')),
                'ElementWrapper'
            ),
            'options' => array(
                'class' => '',
            ),
        ),

AdditionalElement - это мой собственный класс для реализации любого фрагмента HTML.

person IMarks    schedule 10.08.2016