ZF yönlendirme sorunu

1 Cevap php

Ben sadece Zend Framework 1.9.1 ile benim macera başladı ama ben bazı sorunlar karşılaştı. Ben farklı URL'ler üzerinde aynı içeriği görüntülenmesini önlemek için varsayılan yolları kaldırmak istiyorum - Ben bootstraper özel fonksiyon yazdım bunu başarmak için

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initMyRouter()
    {
        $this->bootstrap('router')
             ->getContainer()
             ->frontcontroller
             ->getRouter()
             ->removeDefaultRoutes();
    }
}

but after that, one problem arise - every invalid URL reaches to default controller instead of error controller. To solve this issue I put resources.frontController.defaultcontrollername = "error" resources.frontController.defaultaction = "throw" in application.ini and

public function throwAction()
{
    throw new Zend_Controller_Dispatcher_Exception;
}

ErrorController bu geçici çözüm için ama benim soru ... Ben yanlış bir şey yapıyorum edilir?

İkinci sorun sadece mutlak URL'ler oluşturmak gerekir ki ben = "http://mydomain.com/" resources.frontController.baseurl application.ini katma ama bundan sonra her URL kontrol noktasına varsayılan. Bunu nasıl düzeltebilirim?

Üçüncü (ve son) benim eylemlere Zend_Controller_Action_Helper_Url :: url aramak için nasıl ...? Ben $ this-> _helper-> url (array (), 'frontpage') gibi bir şey denedim ama Zend_Controller_Action_Helper_Url çağırır :: doğrudan

1 Cevap

Kafamın üst kapalı söyleyebilirim ben ilk üç numarayı cevap olacak.

Ben genellikle kullanmak $this->view->url(array(...), 'routeName', true); son argüman parametrelerini sıfırlar. Ben görünümü yardımcı Eylem Yardımcının daha yazın biraz daha kolay / hızlı olduğunu bulmak. I $this->_helper->url->url(...) eylem helper'a almak için doğru yol olduğunu düşünüyorum rağmen.

Ben varsayılan yol kaldırıldı hiç - ama başka bir cevap daha gün orada değilseniz - Ben mesai saatleri sizin için bazı testler yapmak için elimden geleni yapacağım.