如何在OctoberCMS中使用默认主题和来自控制器的变量渲染cms页面?

问题描述:

我想知道如何通过在控制器中执行功能的路径来呈现视图,或在OctoberCMS中使用我的默认主题显示页面。如何在OctoberCMS中使用默认主题和来自控制器的变量渲染cms页面?

如果我有以下途径:

Route::get('bransje', [ 
'uses' => 'Ekstremedia\Cityportal\[email protected]' 
]); 

而且在我的控制器CPController香港专业教育学院尝试了几件事情,就像我曾经跟Laravel:

public function bransje() { 
    $stuff = Stuff::with('info'); 
    return View::make('cms::bransje')->with('stuff',$stuff); 
} 

但我似乎无法得到它工作,我试图搜索网络,但很难找到答案。我找到了一个解决办法,那就是做一个插件组件,那么我可以包括该组件并做:

public function onRun() 
{ 
    $this->eventen = $this->page['stuff'] = $this->stuff(); 
} 

protected function stuff() 
{ 
    return ... 
} 

有没有什么办法让我可以不使用CMS的页面,而被包裹在我的默认主题?我试过

return View:make('my-theme-name :: page');

和很多变种,但没有运气。

我知道我还可以做:

== 
public function onRun() 
{ 
} 
我在CMS页面开始

,但我不知道如何从我的插件控制器通过有调用一个函数。

您可以在插件中使用routes.php file来绕过前端路由。

完整的例子this video turotial

+0

虽然指向外部资源的链接可能很有用,但也请将主要观点添加到答案中。其他网站的链接可能随时间而中断。 – trincot

+0

谢谢你的回答,这是一个很好的视频,但它没有回答我的问题。他正在返回json,只是一个“你好的世界”。我想要的是,比如说,我使用我的默认主题在cms中创建一个页面“页面”。然后,我想制作一个执行一个函数的路径,它将以同样的方式执行一个函数,它将呈现该页面,如果我去了“mysite.com/page”,但是添加了将对象发送到视图。 –

+0

好的,所以你需要自定义路由返回的CMS页面(处理Twig .htm文件?)。问题是为什么你会这么做 - 它是CMS免费赠送给你的功能。也许你需要别的东西 - 在发送或类似之前修改响应的全局事件钩子? – Eoler