2010-06-24 4 views
2

Je développe un skin pour Plone 3.x. La peau a beaucoup de différences par rapport au thème par défaut, et je voudrais garder l'habillage par défaut en mode administration. J'ai lu quelques solutions comme ceci http://maurits.vanrees.org/weblog/archive/2008/01/switch-your-skin-based-on-the-url. Mais je ne peux pas utiliser de sous-domaines dans mon site web, donc je ne peux pas utiliser ces solutions.Plone: ​​Utilisation du skin par défaut pour l'administration

Je pense que la solution serait quelque chose comme ça:

Dans mon main_template.pt:
< état tal: "vrai: Autenticated comme admin" >
'' ici les détails Mettre css
</tal >

Mais je ne sais pas le SINTAX correct dans Plone

Merci .

Répondre

1

Votre solution fonctionne - mais il y a mieux façons. Vous ne décrivez pas comment vos feuilles de style sont installées, mais voici deux façons de le faire.

Soit, si vous avez un produit de la politique, mettre ce qui suit dans votre profil de produit/default/cssregistry.xml:

<object name="portal_css" meta_type="Stylesheets Registry"> 
    <stylesheet title="" cacheable="True" compression="safe" cookable="True" enabled="1" 
      expression="here/portal_membership/isAnonymousUser" 
      id="visitors.css" 
      media="all" rel="stylesheet" rendering="import"/> 
    <stylesheet title="" 
      cacheable="True" compression="safe" cookable="True" enabled="1" 
      expression="not:here/portal_membership/isAnonymousUser" 
      id="admin.css" 
      media="all" rel="stylesheet" rendering="import"/> 
</object> 

ou; visitez "portal_css" dans le ZMI (interface de gestion de Zope). Là, vous pouvez faire la même chose en "ajoutant" les deux feuilles de style montrées ci-dessus, où "condition" est la valeur de "expression" ci-dessus. Il s'agit de la même chose - l'un passe par le web, l'autre par GenericSetup - et maintenant Plone incorporera automatiquement l'un ou l'autre fichier css dans chaque page sans que vous ayez à changer main_template.pt. Ce qui est quelque chose que vous devriez jamais, jamais.

1

Cela ne répond pas directement à votre question, mais vous pouvez jeter un oeil à "Editskin switcher".

+0

Le produit a été développé davantage et supporte plusieurs critères pour passer à une peau différente, par ex. être connecté peut déclencher un basculement vers le skin d'édition. –

1

Enfin, j'ai utilisé cette solution. La condition pour détecter si vous êtes authentifié est tal: condition = "not: here/portal_membership/isAnonymousUser". Ainsi, vous pouvez utiliser une feuille de style uniquement pour les visiteurs et d'autres feuilles de style pour les utilisateurs authentifiés. Quelque chose comme ça:

< style de type = "text/css" tal: content = "chaîne: @import url ($ portal_url/visiteurs.css);" media = "all" tal: condition = "ici/portal_membership/isAnonymousUser" />

< style de type = "text/css" tal: content = "chaîne: @import url ($ portal_url/admin.css); " media = "all" tal: condition = "pas: ici/portal_membership/isAnonymousUser" />

Peut-être que ce n'est pas la solution optimale, mais cela fonctionne pour moi