Zend denetleyicisi url () yardımcı işlevinin eşdeğeri

3 Cevap php

Zend görünümü yardımcısı olarak işlev url yönlendirme tablolara dayalı bir URL çıkış için) bulunmaktadır (örn.

$this->url(array('controller' => 'comments', 'action' => 'add')

Nasıl bir denetleyicisi aynı şeyi yapabilir? Özellikle ben denetleyicisi / eylem sözdizimi yerine standart bir URL kullanarak örneğin bir Zend Form için eylem URL'yi ayarlamak istediğiniz

$form = new Zend_Form;
$form->setMethod('post')->setAction( $this->url(array('controller' => 'comments', 'action' => 'add')) );

3 Cevap

Ben aslında sadece bu işe yaradığını öğrendim:

// in your form
public function init()
{
    $router = Zend_Controller_Front::getInstance()->getRouter();
    $url = $router->assemble(
        array(
            'paramterName0' => 'parameterValue0',
            'paramterName1' => 'parameterValue1',
        ),
        'routeName'
    );

    $this->setAction($url);
    ...
}

Aşağıdaki kod hile yok gibi görünüyor kendi soruyu yanıtlamak mümkün oldu: -

$form = new Zend_Form;
$form->setMethod('post')->setAction( $this->getHelper('url')->url(array('controller' => 'index', 'action' => 'add')) );