2011-04-21 61 views
0

我需要在我的Zend_Form中更改元素的渲染。我喜欢Zend_Form_Decorator_ViewScript的想法,但我没有使用Zend的MVC,并且不能(在搜索三个小时后)找到如何将路径设置为viewScript的基础目录。我尝试了所有可以找到的选项,但没有任何效果。我收到此消息:Zend ViewScript装饰器的基本路径

'no view script directory set;无法 确定位置视图脚本”

如果任何人都可以点我在正确的方向或填补空白的这段代码你会作出我的天!

$this->addElement(
    "text", 
    "customer_name", 
    array(
     "label"=>"Your name", 
     "required"=>false, 
     "decorators"=>array(
      "PrepareElements", 
      array(
       "ViewScript", 
       array(
       "viewScript"=>"customer_name.html" 
      ) 
      ) 
     ) 
    ) 
); 

请再次注意,我没有使用Zend的MVC所以我需要明确设置的路径。

+0

HTTP://www.tibobeijen .nl/blog/2009/12/07/using-zend_form-without-zend-framework-mvc/ – Phil 2011-04-21 03:18:59

+0

感谢您的链接,它提供了一些有关如何在不使用MVC的情况下使用Zend_Form的良好信息。不幸的是,它不回答我的特殊问题(从我可以看到的),这是如何修复viewScript的路径,如果不使用MVC。我会继续阅读,所以谢谢! – user1493124 2011-04-21 05:12:09

回答

1

荫笔记肯定的是,它是沿前,因为我已经使用Zend框架没有MVC结构,但这应该工作(基于注释中的实例链接)时

$view = new Zend_View(); 
$view->doctype('XHTML1_TRANSITIONAL'); 
$view->setBasePath('/path/to/your/view'); 

$form = new Zend_Form(); 
$form->setView($view); 
+1

谢谢!几乎...这个作品: $ form = new Zend_Form(); $ view = new Zend_View(); $ view-> setScriptPath('/ path/to/your/view'); $ form-> setView($ view); – user1493124 2011-04-21 07:07:34

+0

setBasePath与setScriptPath相同 – opHASnoNAME 2011-04-21 08:13:59