On Fri, 16 Feb 2001 18:12:20 +0100 francesco <francesco@xxxxxx> wrote: > > Si, ma il mio sito non esiste. Io ho un template scritto in html, con > dei "buchi" che vanno riempiti in modo diverso nelle varie pagine. Però > non sono io a scrivere il contenuto di queste pagine ma alcuni utenti > abilitati, loro mandano un file txt con il contenuto aggiornato, un > database si aggiorna automaticamente sostiutendo il nuovo file a quello > vecchio e quando vado a vedere la pagina un cgi mi genera la pagina > finale prendendo il template e riempiendo i buchi con il contenuto dei > files appositi. In questo modo io evito di dover aggiornare il sito e > nello stesso tempo sollevo gli utenti dalla necessità di conoscere > l'html ed inoltre cambiando il template posso rinnovare l'intero sito > modificando una sola pagina html. > Al momento ho fatto tutto in perl, ma mi domandavo se avrei potuto fare > tutto con Zope senza scrivere codice aggiuntivo. Cioè se Zope prevede > questo tipo di necessita'. Si, è una delle funzionalità più semplici di zope che consente di non dover ricopiare elementi di codice HTML e programmazione python, dtml o perl; è un concetto che viene chiamato "acquisizione" che sostanzialmente è l'ereditarietà spostata a livello di istanze di classi e non di classi stesse. Per spiegarla in termini più semplici, avrai visto che il modo di disporre i documenti all'interno di zope è simile ad un "albero" di directories costruito da elementi che si chiamano "folders" appunto; la similitudine con le normali directories di un filesystem è appunto la loro prima caratteristica è appunto quella di mettere un po' d'ordine in un caos di elementi che contengono informazioni. La somiglianza però finisce qui, difatti un filesystem (uno ordinario almeno, come ext2 e fat) è un database di files....Zope è invece, tra le altre cose, un ODB, cioè un database di Oggetti. Riconosco che la differnza non risulta immediatamente notevole, ma mi accingo a dare una "definizione" che poi spiegherò con un'esempio.. Ecco qui la pseudo definizione: In zope ogni elemento (leggi oggetto) acquista le proprietà e le funzionalita (metodi) del suo contenitore. Immagina di avere due folder, che si chiamano pippo e ciccio dove ciccio è all'interno di pippo e che in pippo ci siano i seguenti elementi: 1. Un documento html che si chiama "banner.html" 2. Un'immagine che si chiama "gnocca.jpg" 3. Una procedura in perl che si chiama "cammello" 4. "cicco" stesso e che in ciccio ci sia solo un template html che si chiama "esempio.dtml" , avrai una struttura del tipo pippo---\ |--ciccio----------\ |-banner.html |-esempio.dtml |-gnoccha.jpg |-cammello.pl Come ho detto nell'enunciato sopra, "esempio.dtml" si ritrova ad avere come funzionalità e proprietà tutte quelle dell'oggetto che lo compone, "ciccio", che haimè contiene solo lui, ma per il fatto che ciccio è contenuto in pippo, ciccio si ritrova ad avere banner.html, gnocca.jpg, cammello, e pippo..... a cascata, anche esempio.html si ritrova a possedere tutto ciò, e può fare degli include nel suo codice come <dtml-var banner.html> o richiamare la procedura cammello con <dtml-call "cammello(parametro1, parametro2)"> ...e così ogni altro elemento a valle di "pippo" ...Figo no? Scrivo una sola volta e utilizzo immediatamente ovunque... :-) Ma questo è solo l'inizio....:-) azazel -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx