Personal tools
You are here: Home Documentazione Domade Frequenti (FAQ) zcml:condition
Document Actions

zcml:condition

Up to Table of Contents

Introduciamo un comodo statement ZCML per effettuare degli include condizionali.

Ipotizziamo di aver scritto un prodotto redomino.prodotto1 che contiene un semplice archetype. Questo prodotto non ha dipendenze obbligatorie, quindi se installato da solo funzionerà correttamente. Tuttavia se dovesse essere installato anche un altro prodotto per Plone (per esempio un prodotto per la generazione di pdf chiamato redomino.prodotto2), vorrei fornire una mia vista personalizzata per la generazione di report via web.

Come fare?

Nel prodotto redomino.prodotto1 potrei creare un package contenente il codice per customizzare alcune view o form; condiziono il caricamento di questo package SOLO se è installato redomino.prodotto2 (altrimenti otterrei un errore di import all'avvio oppure dovrei mettere farcire il codice di inutili controlli).

Ecco l'estratto del configure.zcml di redomino.prodotto1 come apparirebbe:

...
    <include package=".prodotto2"
             zcml:condition="installed redomino.prodotto2" />
...

Dall'esempio risulta chiaro che il package prodotto2 verrà considerato solo se redomino.prodotto2 sia installato.

Altri statement disponibili oltre a quello visto installed sono have e not-have e naturalmente not-installed.

by Davide Moro last modified 2008-09-22 11:01

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: