2009-10-20 8 views

Odpowiedz

13

Zawsze muszę też to sprawdzić. Składnia jest bardzo prosta, i obawiam się, że nie jest częścią składni.

Jak widać z the documentation in the zope.configuration source code, składnia jest zawsze w formie verb arguments, gdzie czasownik jest jednym z have, not-have, installed i not-installed.

have i not-have test zarejestrowanej funkcji. Zarejestrowana funkcja to po prostu nieprzejrzysty ciąg, który został zarejestrowany w tagu <meta:provides feature="something" />. Użyj go, aby oznaczyć, że coś zostało dołączone, nie przywiązując go do konkretnej implementacji. Przykład:

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

installed i not-installed prostu spróbować zaimportować pakiet o nazwie; jeśli import się powiedzie, to test installed. Przykład:

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

Napisałem komponent, który może korzystać z wielu implementacji funkcji kryptograficznej w zależności od tego, która jest zainstalowana. Dla mojego "lub" prawdopodobnie mogę umieścić to samo '' w dwóch blokach zcml: condition, a następnie zarejestrować mój komponent w jednej trzeciej. Dzięki! – joeforker

+0

Twoje linki do kodu źródłowego Zope są teraz zepsute – scarba05

+0

@ scarba05: dzięki za heads-up, naprawiłem link. –

Powiązane problemy