2009-10-20 8 views

Répondre

13

Je dois toujours regarder ça aussi. La syntaxe est très simple, et or ne fait pas partie de la syntaxe, j'en ai peur.

Comme vous pouvez le voir the documentation in the zope.configuration source code, la syntaxe est toujours de la forme verb arguments, où verbe est l'un des have, not-have, installed et not-installed.

have et not-have test pour une fonctionnalité enregistrée. Une fonctionnalité enregistrée est simplement une chaîne opaque qui a été enregistrée avec une balise <meta:provides feature="something" />. Utilisez-le pour signaler que quelque chose a été inclus sans l'attacher à une implémentation particulière. Exemple:

<configure zcml:condition="have apidoc"> 
    <!-- only when the apidoc feature has been provided --> 
</configure> 

installed et not-installed simplement essayer d'importer le package nommé; si l'importation réussit, le test installed le fait également. Exemple:

<configure zcml:condition="installed sqlalchemy"> 
    <!-- only when the sqlalchemy module can be imported --> 
</configure> 
+1

J'ai écrit un composant qui peut utiliser plusieurs implémentations d'une fonction de cryptage en fonction de ce qui est installé. Pour mon 'ou' je peux probablement mettre le même '' meta provides feature = "quelque chose"> 'dans deux blocs zcml: condition, puis enregistrer mon composant dans un tiers. Merci! – joeforker

+0

Vos liens vers le code source Zope sont maintenant cassés – scarba05

+0

@ scarba05: merci pour le heads-up, corrigé le lien. –

Questions connexes