2009-10-20 33 views

Trả lời

13

Tôi luôn phải xem xét điều này. Cú pháp rất đơn giản, và or không phải là một phần của cú pháp, tôi sợ.

Như bạn có thể nhìn thấy từ the documentation in the zope.configuration source code, cú pháp luôn luôn có dạng verb arguments, nơi động từ là một trong những have, not-have, installednot-installed.

havenot-have kiểm tra tính năng đã đăng ký. Một tính năng đã đăng ký chỉ đơn giản là một chuỗi mờ đã được đăng ký với thẻ <meta:provides feature="something" />. Sử dụng nó để gắn cờ rằng một cái gì đó đã được bao gồm mà không buộc nó vào một triển khai cụ thể. Ví dụ:

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

installednot-installed chỉ cần thử nhập gói có tên; nếu quá trình nhập thành công thì thử nghiệm là installed. Ví dụ:

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

Tôi đã viết một thành phần có thể sử dụng nhiều triển khai chức năng mã hóa tùy thuộc vào cài đặt nào. Đối với 'hoặc' của tôi, tôi có thể đặt cùng một '' vào hai khối zcml: condition và sau đó đăng ký thành phần của tôi trong một phần ba. Cảm ơn! – joeforker

+0

Các liên kết của bạn tới mã nguồn của Đức Giáo Hoàng giờ đây đã bị hỏng – scarba05

+0

@ scarba05: cảm ơn vì người đứng đầu, đã sửa liên kết. –

Các vấn đề liên quan