【问题标题】:Modular Zend Framework with a base of partials具有部分基础的模块化 Zend 框架
【发布时间】:2011-02-02 12:55:54
【问题描述】:

目前我发现我必须不断为不同的模块复制部分内容。

我想为所有要访问的部分提供一个案例目录。

有没有人有好的方法呢?

谢谢

【问题讨论】:

    标签: zend-framework partials


    【解决方案1】:
    $this->partial('directoryOfPartials/partial.phtml', $model);
    

    我认为您也可以将 $this->partial 与三个参数一起使用。第二个参数是模块名称,第三个参数是模型。

    取自: http://framework.zend.com/manual/en/zend.view.helpers.html

    示例 #10 渲染部分 其他模块有时部分会 存在于不同的模块中。如果你 知道模块的名字,你可以 将其作为第二个参数传递给 部分()或部分循环(), 将 $model 参数移到第三个 位置。例如,如果有一个 您希望使用的寻呼机部分 在“列表”模块中,您可以抓取 如下:

    <?php echo $this->partial('pager.phtml', 'list', $pagerData) ?>
    

    通过这种方式,您可以重复使用部分 专门为其他创建 模块。也就是说,这很可能是 更好的实践把可重用 共享视图脚本路径中的部分。

    编辑 - 从控制器的操作范围内访问视图部分

    $this->view->getHelper('partial')->partial('comments.phtml');
    

    【讨论】:

    • 谢谢,这对视图来说很棒,但是我对通过控制器使用它有疑问,将在下面的新帖子中回复以更清楚
    • 在 helper 中设置 partial 时要做什么?我的意思是在那之后,您在编辑后发布了什么?您将部分设置为 cmets.phtml,但在视图中如何处理呢? TIA
    【解决方案2】:

    非常感谢:)

    但是,如何通过控制器执行此操作?我有 fancybox 并设置了 ajax 布局:

    $this->view->layout()->setLayout('ajax');
    
    $errors = array('You have lost your rights to download this clip, you have downloaded it the maximum amount of times.');
    
    $this->render($this->view->partial('partials/errors.phtml', 'default', array('errors' => $errors)), NULL, true);
    

    按要求弹出窗口,但出现以下错误:

    Problem: Method "partial" does not exist and was not trapped in __call()
    

    我有点假设 $this->view->partial 与在视图模板中使用 $this->partial 相同,但我猜不是。想法?

    通过解决:

    Bootstrap initView,添加:

    $view->addScriptPath('../application/layouts/partials');
    

    将我的部分内容移至该目录。然后在我的控制器中:

    $this->view->layout()->setLayout('ajax');
    $this->view->form  = $form;
    $this->renderScript('login.phtml');
    

    感谢#zftalks SmartSsa

    【讨论】:

    • $this->view->getHelper('partial')->partial('cmets.phtml');我也将它添加到我的答案中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多