выбор формы для выбора - PullRequest
0 голосов
/ 27 марта 2011

Это мой кусок кода, и мне нужно получить более одного атрибута (части информации) из функции положения баннера для просмотра в окне выбора или множественного выбора, помогите

class Admin_Form_Bannerextends ZendX_Form_Designed {

public function init() {

$ this-> setEnctype (self :: ENCTYPE_MULTIPART);$ This-> setMethod (самообеспечение :: METHOD_POST);$ this-> setMethod ('post');

    // Add an email element
    $this->addElement('text', 'banner_title', array(
        'label' => 'Banner Title',
        'required' => true,
        'filters' => array('StringTrim')
    ));

    $this->addElement('text', 'banner_type', array(
        'required' => true,
        'filters' => array('StringTrim')
    ));


    $this->addElement('checkbox', 'is_active', array(
        'label' => 'Is Active',
        'required' => true,
        'filters' => array('StringTrim')
    ));

    $banner_position = new Zend_Form_Element_Select('banner_position');
    $banner_position->setMultiOptions($this->getBannerPositions())->setLabel('Banner Position');

    $this->addElement($banner_position, 'banner_position');


$this->addElement('hidden', 'file_path', array(
        'required' => true
    ));


    $this->addElement('submit', 'submit', array(
        'ignore' => true,
        'label' => ''
    ));
}

public function getBannerPositions() {
    $db = Zend_Db_Table::getDefaultAdapter();

    $bannerPosition = $db->fetchPairs($db
                            ->select()
                            ->from('banner_position'), array('id', 'banner_position'));
    return $bannerPosition;
}

}

1 Ответ

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

Я решаю проблему, используя zend_Db_expr и конкатенацию, таким образом, я могу перенести позицию баннера, ширину и высоту в одном окне выбора нескольких опций.

$ bannerPosition = $ db-> fetchPairs ($ db -> выберите () -> from ('banner_position', массив ( 'id' => 'id', 'display_name' => new Zend_Db_Expr ("CONCAT (', banner_position,' (w: ', width,' x h: ', height,') ')") ) )

...