Fehlermeldung beim ZCatalog

Django, Flask, Bottle, WSGI, CGI…
Antworten
Alex_winf01
User
Beiträge: 28
Registriert: Samstag 5. Februar 2005, 19:35

Folgendes Problem:
Ich habe im ZMI ein Python-Skript liegen, dass nennt sich getTerminDatum und sucht nach Objekten eines bestimmten Types

Code: Alles auswählen

results = context.portal_catalog.searchResults(Type='Termin',
     path=container.absolute_url(relative=1),
     Creator='Alexandra')

for result in results:
    print result.getAnfang

return printed
Dann habe ich ein Template im selben Verzeichnis liegen, welches zum Anzeigen der Daten in Plone ermöglichen soll:

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" ml:lang="en-US" lang="en-US"
metal:use-macro="here/main_template/macros/master" i18n:domain="plone">
<body>
<div metal:fill-slot="main">
<ul tal:define="results here/getTerminDatum">
  <li tal:repeat="result results">
    <a href=""
       tal:attributes="href result/getURL"
       tal:content="result/Title"/>
    <span tal:replace="result/Description"/>
  </li>
</ul>
</div>
</body>
</html>
Beim Testen des Templates bekomme ich folgende Fehlermeldung:

ErrorType: ErrorType
Error Value: string indices must be integers

Wie kann ich diesen Fehler vermeiden?

(Ich weiss, blöde Frage. Aber ich bin neu auf dem Gebiet Zope/Plone. Also bitte nicht ganz so heftig zerreissen.)
Alex_winf01
User
Beiträge: 28
Registriert: Samstag 5. Februar 2005, 19:35

Fehler behoben. Das Template sieht nun wie folgt aus.

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" ml:lang="en-US" lang="en-US"
metal:use-macro="here/main_template/macros/master" i18n:domain="plone">
<body>
<div metal:fill-slot="main">
<ul tal:define="String python: here.getTerminDatum()">
</ul>
</div>
</body>
</html>
Wie erreiche ich es aber nun, dass ich auch die Ergebnisse der Suche in dem PageTemplate angezeigt bekomme?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi Alex_winf01!

Dein Skript gibt keine Objekte zurück, sondern Strings. Ein String hat aber nicht die zusätzlichen Attribute, die du abfragen möchtest.

Bevor ich hier ein langes Beispiel schreibe. Zope bietet dir Unterstützung bei der Erstellung solcher Seiten, indem es vorkonfigurierte Beispiele generieren kann.

Wähle im ZMI aus der Kombinationsliste den Eintrag " Add Search Interface" aus und spiel dich ein wenig damit. Das dürfte alle Klarheiten beseitigen :-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Alex_winf01
User
Beiträge: 28
Registriert: Samstag 5. Februar 2005, 19:35

Bei mir wird kein Eintrag " Add Search Interface" angeboten. :oops:

Hättest Du ein kleines, kurzes Beispiel parat?

Streich diesen Kommentar. Wer lesen kann, ist klar im Vorteil
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Alex_winf01 hat geschrieben: Bei mir wird kein Eintrag " Add Search Interface" angeboten.
Hi Alex_winf01!

Sorry, da habe ich wohl den falschen Eintrag kopiert :oops:

Der Eintrag heißt "Z Search Interface". -- Ist ja nur am anderen Ende des Alphabets :?

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Alex_winf01
User
Beiträge: 28
Registriert: Samstag 5. Februar 2005, 19:35

Ich hab auch "Z Search Interface" benutzt. :)
Wahr wohl Gedankenübertragung
Alex_winf01
User
Beiträge: 28
Registriert: Samstag 5. Februar 2005, 19:35

Jetzt habe ich doch noch mal eine Frage:

Ich möchte eine Terminverwaltung realisieren. Die Objekte werden mit Archetypes umgesetzt.

Ein Kalenderobjekt kann beliebig viele Termine enthalten. Das Kalenderobjekt ist ein Ordner. Wie gebe ich den an, dass er in allen Kalenderobjekten suchen soll?
Antworten