[Zope-it] Rif: vista nascosta

Giorgio Andreoletti giorgio@andreoletti.it
Mon, 31 Mar 2003 15:04:52 +0200


Buongiorno a tutti,
vi sottopongo questo problema che mi sta assillando da un paio di notti :=20
qualche tempo fa (luglio 2002), qui in ML avevo pertecipato ad un thread su=
=20
come rendere "statico" un URL "dinamico", cio=E8 rendere una cosa del tipo:

www.ilmiosito.it/index_html?variabile=3Dvalore

in

www.ilmiosito.it/index_html/variabile_var_valore

il trick era molto semplice: bastava aggiungere in OFS/DTMLMethod.py,=20
all'interno della classe DTMLMethod, il codice:

    # AGGIUNTA PER PARAMETRI SU URL
     def __getitem__(self, key):
         if (find(key, '_var_') > 0):
             parts =3D split(key, '_var_')
             if not self.REQUEST.has_key(parts[0]):
                 print parts
                 if len(parts) =3D=3D 1:
                     self.REQUEST[key] =3D 1
                 else:
                     self.REQUEST[parts[0]] =3D join(parts[1:], '_var_')
         elif (find(key, '_varint_') > 0):
             parts =3D split(key, '_varint_')
             if not self.REQUEST.has_key(parts[0]):
                 print parts
                 if len(parts) =3D=3D 1:
                     self.REQUEST[key] =3D 1
                 else:
                     self.REQUEST[parts[0]] =3D int(join(parts[1:],=
 '_varint_'))
         return self
     # FINE AGGIUNTA PER PARAMETRI SU URL


tutto ha funzionato alla grande, finch=E8 non ho deciso di aggiornare lo=20
zoppone dalla 2.5.1 alla 2.6.1... applico la stessa modifica al=20
DTMLMedthod.py, e non c'=E8 pi=F9 verso di farla andare.... come mai ? Mi=
 sto=20
come al solito dimenticando qualcosa, o nella 2.6.x devo fare altre=20
modifiche per far funzionare questo trick ?

seconda domanda scema : ma non =E8 che la stessa modifica andava fatta anche=
=20
in DTMLDocument.py ? perch=E8 l'index_html del sito su cui l'ho utilizzato =
=E8=20
un document e non un method, ma la modifica l'ho fatto solo nel DTMLMethod,=
=20
eppure con zope 2.5.1 =E8 sempre andato lo stesso senza problemi (cosa che=
 mi=20
fa riflettere e mi lascia un attimo perplesso....)

tnx 1000
ciao
Giorgio


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Giorgio Andreoletti - consulente IT
< web programming >-< network security >
< servers administration >-< open-source solutions >
web & e-mail : www.giorgio@andreoletti.it
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20