2011-07-22 2 views
8

J'ai rencontré un problème en utilisant Orchard que je suis sûr qu'il devrait y avoir une solution/solution assez simple pour, mais je ne l'ai pas encore trouvé. J'essaie d'établir une zone de contenu de largeur spécifique pour ma page d'accueil (580px), et une plus grande largeur pour les pages de contenu (800px).Mise en page basée sur la page - OrchardCMS

Layout.cshtml Snippet:

<div id='content'> 
     @Zone(Model.Content) 
    </div> 

Style:

#Content 
    { 
     [...] 
     width: 580px; 
    } 

Actuellement - le contenu div enveloppe tout mon contenu quelle que soit la page (soit Page d'accueil ou contenu) . Je me demande s'il est possible d'utiliser un autre div pour envelopper le contenu en fonction de la page, comme le montre:

Layout.cshtml Idée:

@if(Model.Page != "Home") 
{ 
    <div id='fullcontent'> 
     @Zone(Model.Content) 
    </div> 
} 
else 
{ 
    <div id='content'> 
     @Zone(Model.Content) 
    </div> 
} 

Je ne suis pas sûr si ce qui précède suggéré méthode est possible (ou je ne sais pas comment vérifier la page actuelle) - mais d'autres suggestions seraient appréciées.

Répondre

13

Vous pouvez utiliser le module Outils Designer (intégré à toutes les versions récentes de Orchard) et activer la fonctionnalité de substitution d'URL. Vous serez alors en mesure de créer un autre layout-url-homepage.cshtml pour votre mise en page.

+3

C'est en gros la route que j'ai finalement empruntée - Designer Tools fait des merveilles! Je veux aussi vous remercier Bertrand, Orchard est fantastique! –

+0

J'ai mis à jour l'URL sur cette réponse - il semble que la galerie a été déplacée vers un sous-domaine, mais 301 redirections n'ont pas été implémentées – rtpHarry

1

Vous pouvez utiliser le module Vandelay.Classy pour ajouter des balises personnalisées à la page qui représente votre page d'accueil, bien qu'il ajoute beaucoup de champs à l'éditeur de contenu de page.

+0

Merci pour la suggestion - j'été bricoler avec peu de choses, et je finalement juste créé une mise en page séparée pour cette page. Layout_url_xxxxx.cshtml. Ce qui semble fonctionner pour l'instant. –

Questions connexes