2017-09-16 1 views
0

コントローラの機能を実行するルート経由で、ビューをレンダリングする方法、またはOctoberCMSにデフォルトのテーマを持つページを表示する方法が不思議です。OctoberCMSのコントローラからデフォルトのテーマと変数を使用してcmsページをレンダリングするにはどうすればよいですか?

私は、次のルートを持っている場合:私はLaravelとするために使用のよう

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

そして、私のコントローラCPControllerアイブで

は、いくつかのことを試してみました:

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を使用せずにページを作ることができる方法はあります、そしてそれはに包まれています私のデフォルトテーマ?私は試しました

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

と多くの変形がありますが運がありません。

私はまた、行うことができます知っている:

== 
public function onRun() 
{ 
} 

CMSでの私のページの先頭に、私はそこを経由して、私のプラグインコントローラから関数を呼び出すするかどうかはわかりません。

答えて

1

プラグインでroutes.php fileを使用すると、フロントエンドルーティングをバイパスできます。

this video turotialの完全な例。

+0

外部リソースへのリンクが役立つかもしれませんが、回答に要点を追加してください。他のサイトへのリンクは時間の経過とともに壊れることがあります。 – trincot

+0

あなたの答えをありがとう、それは良いビデオだったが、それは私の質問に答えなかった。彼はjsonとただひとつの "こんにちはの世界"を返す。私が欲しいのは、私は、ページの "ページ"を作成すると言う、私のデフォルトのテーマを使って、CMSで。それから私は "mysite.com/page"に行った場合と同じように、そのページをレンダリングする機能を実行するルートを作っていきたいと思います。ビュー。 –

+0

OK、カスタムルートで返されたCMSページ(Twig .htmファイルを処理しましたか?)が必要ですか?質問は、あなたがそれをなぜ、CMSと同じ機能を無料で提供しているのかということです。多分あなたは何か他のものを必要とするでしょう - 送信する前に応答を変更するか、それと同様のグローバルイベントフックですか? – Eoler

関連する問題