【问题标题】:Phalcon PhP - set view dynamically [duplicate]Phalcon PhP - 动态设置视图[重复]
【发布时间】:2016-09-12 20:55:01
【问题描述】:

我正在使用 Phalcon PhP 开发一个网站,我想根据 url 动态设置视图(.volt 文件)。

目前,我可以获取 url,并且 url 与 .volt 文件的名称匹配。我的问题是我可以获得 .volt 文件的内容,但布局似乎是空白的,因为页面呈现时没有任何样式。我的样式表包含在布局中。

这是我的操作代码:

   public function indexAction($url){
        $this->view->setLayout( 'website' );
        $this->view->pick('program/'.$url);
   }

网址正确,我渲染了 .volt 内容,但布局似乎是空白的。

目前我在另一个会话中做了非常相似的事情并且布局有效:

$html = $this->view->getRender('page', $url,
    array('page_title' => $page_title,
        'page_css_class' => $page_css_class)
);
die($html);

但是对于这个功能,我想做一些不同的事情,因为我还必须动态设置一堆其他的东西,比如$this->assets->addJs('x.js'); 等等......

你能看出我做错了什么吗?

谢谢

【问题讨论】:

  • 你的 Phalcon 版本是多少?还有你之前用过website布局,效果好吗?
  • 版本为2.0。是的,我在其他页面中使用了这个模板,我做的事情与我正在尝试做的事情非常相似(我将添加到问题中)。
  • 你之前不是问过这个吗? stackoverflow.com/questions/39044087/…
  • @AndréLuiz 您需要将 html 代码放在变量中还是仅将其显示在您的网站上?
  • 不,这似乎是两个不同的问题。当时,没有声称要呈现任何样式,因为现在看来它是缺少的页面的一部分。

标签: php phalcon


【解决方案1】:

只需制作“pick”参数数组:

$this->view->pick(['program/'.$url]);

就是这样。删除设置布局功能,你不需要它(如果网站是默认布局)。 这没有以最佳方式显示在文档中,但您可以查看 githube zaphir 代码以获取详细信息here

祝你好运:)

【讨论】:

    猜你喜欢
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    相关资源
    最近更新 更多