salut tout le monde,
apres que j'ai reussi à créer mon script python qui me renvoie un objet d'une maniere aleatoire:
j'ai eu une petite probleme dans son utilisation dans la ZPTfrom Products.CMFCore.utils import getToolByName
import random
catalog = getToolByName(context, 'portal_catalog')
# contruire sa requete
results = catalog.searchResults(path = {'query' :
'/'.join(context.getPhysicalPath()) },
portal_type = ['Document',],
)
i = random.choice(results)
j = i.getObject()
return i
je m'expliquer:
pour utiliser mon script python, je dois bien sur l'appeler dans la page template :
mais normalement, là, il va chercher tous les objets de type "document" dans l'emplaçement actuelle "here"(l'endroit oû il se trouve).<dic class="CasClient"
tal:define="Objet python: here.getCasClient">
<div class="titreCasClient"
tal:define="titre python: Objet.Title()"
tal:content="titre"> titre Cas client </div>
<DIV class="textCasClient"
tal:define="texte python: Objet.CookedBody(stx_level=2)[:150]">
<div tal:content="structure texte" >texte Cas Client</div>
</DIV>
</div>
mais si je veux chercher dans tout mon site, je dois changer "here" par quoi ????
sachant que j'ai essayer d'utiliser aussi "context" qui donner la meme resultad et "container" qui m'afficher un erreur
merci d'avance
et bonne weekend à vous tous!
Partager