Bir görünüm yardımcı dizin eklemek için nasıl (Zend Framework)

5 Cevap php

Ben ZF (1.9.7) ile başlar, ve ben bütün projeler arasında paylaşılan bir kütüphane manzara Yardımcıları kullanmak istiyorum. Ama yardımcıları yolu o dizin eklemek için nasıl bulamıyor. Ben uygulamanın yardımcıları yoluna koyunca benim Herpers cezaları çalışır.

İşte ben ZF yardımcıları yolunu bulmak hata ve uygulamalar olanlar yoludur.

object(ArrayObject)#71 (3) {
  ["exception"]=>
  object(Zend_Loader_PluginLoader_Exception)#70 (6) {
    ["message:protected"]=>
    string(151) "Plugin by name 'Voo' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/;C:/ZendStd/www/applis/VOO4_PROJECTX/views\helpers/"
    ["string:private"]=>
    string(0) ""
    ["code:protected"]=>
    int(0)
    ["file:protected"]=>
    string(89) "C:\Program Files\Zend\ZendServer\share\ZendFramework\library\Zend\Loader\PluginLoader.php"
    ["line:protected"]=>
    int(401)

Best regards
Cédric

5 Cevap

Görünümü için Zend_Application kaynak yerleşik çok kolayca yapılabilir. Eğer ini yapılandırmaları kullanıyorsanız, bu gibi bir satır ekleyin:

resources.view.helperPath.My_View_Helper = "My/View/Helper"

Anahtar ucu sınıf adı öneki ve değeri yol onlar nerede ikamet.

EDIT: soymak Allen'ın loggedinas görünüm yardımcı kullanarak bu konuda daha ayrıntılı almak için view helper in zend framework göz atın.

David Caunt tarafından belirtildiği gibi yapabilirsiniz, ama aynı zamanda bootstrap bu gibi yapabilirsin sadece. Zend Framework şey yapmak için birden fazla yolu her zaman vardır Not

Çıkış http://devzone.zend.com/article/3412

Eğer görünüm nesnesine erişimi varsa, aşağıdakileri yapın.

<?php    
$view->addHelperPath('My/View/Helper/', 'My_View_Helper'); 
?>

Eğer varsa bir ön kontrolör eklenti görünümü nesne elde etmek gerekebilir

: Ayrıca burada başlayan mesajların bu gerçekten büyük bir set göz atın

http://zend-framework-community.634137.n4.nabble.com/Getting-view-from-Bootstrap-ZF1-8-tp659447p659460.html

Ben uygulama boyunca erişilebilir ortak bir dizini, zend görünüm yardımcıları kayıt için kısa ve basit bir öğretici yazdım. Lütfen bir göz atın.

http://www.mixedwaves.com/2010/03/accessing-and-using-zend-view-helpers-from-a-common-directory/

Yardımcı yolları Zend_View_Abstract::addHelperPath() ile ilave edilir. Varolan bir manzara örneği doğrudan bu yöntemi çağırabilirsiniz.

Yardımcı yolları da bootstrap sırasında çeşitli şekillerde yapılandırılabilir. Üzerinde ZF manuel bölüm Çıkış Zend_Application Önyükleme sınıfları ve kaynakların nasıl kullanılacağını görmek için:

Kullanırken bir sorun var

resources.view.helperPath.App_View_Helper = APPLICATION_PATH "/../library/App/views/helpers"

Ben modülünde hatta yerel yardımcıları düzeninde hiçbir görünümü yardımcısı erişebilirsiniz. (Isim 'loggedinas' Plugin tarafından kayıt defterinde bulunamadı) ama yine görünümleri şablonu dosyaları çalışıyor.

Bu kod "echo Zend_Debug :: dökümü (bu $)" düzen dosyanın sonuna koymak ve çıkış bir parçası var.

        ["_prefixToPaths:protected"] => array(3) {
          ["Zend_View_Helper_"] => array(2) {
            [0] => string(17) "Zend/View/Helper/"
            [1] => string(16) "./views\helpers/"
          }
          ["ZendX_JQuery_View_Helper_"] => array(1) {
            [0] => string(25) "ZendX/JQuery/View/Helper/"
          }
          ["Zend_View_Helper_Navigation_"] => array(1) {
            [0] => string(28) "Zend/View/Helper/Navigation/"
          }
        }

önyükleme dosyasında bu kodu kullanarak zaman ama hiçbir sorun yoktur.

    //Initialize and/or retrieve a ViewRenderer object on demand via the helper broker
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
    $viewRenderer->initView();
    //add the global helper directory path
    $viewRenderer->view->addHelperPath(APPLICATION_PATH.'/../library/App/views/helpers', 'App_View_Helper');

Çıktı aşağıdaki gibi oldu:

            ["_prefixToPaths:protected"] => array(4) {
              ["Zend_View_Helper_"] => array(3) {
                [0] => string(17) "Zend/View/Helper/"
                [1] => string(16) "./views\helpers/"
                [2] => string(86) "D:/zf/application/modules/default/views\helpers/"
              }
              ["App_View_Helper_"] => array(1) {
                [0] => string(85) "D:\zf\application/../library/App/views/helpers/"
              }
              ["ZendX_JQuery_View_Helper_"] => array(1) {
                [0] => string(25) "ZendX/JQuery/View/Helper/"
              }
              ["Zend_View_Helper_Navigation_"] => array(1) {
                [0] => string(28) "Zend/View/Helper/Navigation/"
              }
            }