2017-09-16 4 views
0

Je me demande comment je peux afficher une vue ou afficher une page avec mon thème par défaut dans OctoberCMS, via une route qui exécute une fonction dans un contrôleur.Comment rendre une page cms avec le thème par défaut ET les variables des contrôleurs dans OctoberCMS?

Si je l'itinéraire suivant:

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

Et dans mon contrôleur CPController Ive a essayé plusieurs choses, comme je le faisais avec Laravel:

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

Mais je ne peux pas sembler obtenir à travailler, et j'ai essayé de chercher sur le Web, mais il est difficile de trouver des réponses. J'ai trouvé une solution de contournement, et qui est de faire un composant plug-in, alors je peux inclure ce composant et faire:

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

protected function stuff() 
{ 
    return ... 
} 

Est-il possible que je puisse faire des pages sans utiliser le Cms, et qui sont enveloppés dans mon thème par défaut? J'ai essayé

return View :: make ('mon-nom-de-thème :: page');

et beaucoup de variantes mais pas de chance.

Je sais que je peux faire:

== 
public function onRun() 
{ 
} 

au début de ma page dans le CMS, mais je ne suis pas sûr comment appeler une fonction de mon contrôleur de plug-in via là.

Répondre

1

Vous pouvez ignorer le routage frontal en utilisant routes.php file dans votre plug-in.

Exemple complet dans this video turotial.

+0

Alors que des liens vers des ressources externes peuvent être utiles, veuillez également ajouter les points principaux dans votre réponse. Les liens vers d'autres sites peuvent se rompre avec le temps. – trincot

+0

Merci pour votre réponse, c'était une bonne vidéo, mais elle n'a pas répondu à ma question. Il retourne json et juste un seul "bonjour monde". Ce que je veux, c'est, dis-je créer une page, "page" en cms, en utilisant mon thème par défaut. Ensuite, je veux faire une route qui exécute une fonction, qui rendra cette page, de la même manière que si elle passait à "mysite.com/page", mais avec les options supplémentaires d'envoi avec des objets dans le vue. –

+0

OK, vous avez donc besoin de la page CMS (fichier Twig .htm traité?) Retourné par route personnalisée? La question est pourquoi voulez-vous cela - c'est la même fonctionnalité que CMS vous donne gratuitement. Peut-être avez-vous besoin d'autre chose - un hook d'événement global qui modifie la réponse avant l'envoi ou similaire? – Eoler