2 votes

Rendu du blog de Silverstripe vers le modèle en fonction de la conditionnalité

J'ai un blog Silverstripe que j'utilise pour plusieurs zones différentes du site et je veux utiliser un modèle différent pour chacune d'entre elles (plutôt que d'essayer d'utiliser beaucoup de conditions dans le modèle) Je n'arrive pas à obtenir le rendu du modèle - voici l'essentiel :

class BlogExtension extends DataExtension
{
    private static $db = [        
    'BlogType'     => 'Varchar'       
    ];
}

class BlogPostExtension extends DataExtension
{        
    public function isNews()
    {
        return $this->owner->Parent()->BlogType == 'news';
    }        

    public function isBlog()
    {
        return $this->owner->Parent()->BlogType == 'blog';
    }        
} 

J'essaie de faire quelque chose comme ce qui suit pour rendre chaque type de billet de blog dans BlogPost_news.ss ou BlogPost_blog.ss :

class BlogPostControllerExtension extends DataExtension
{

public function onBeforeInit() {
    //render with custom template
    if ($this->owner->isBlog()) {
        return $this->owner->renderWith(BlogPost::class .'_blog');
    }

}

Mais je ne pense pas être sur la bonne voie ici :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X