Seite 1 von 1

Fehlermeldung beim ZCatalog

Verfasst: Mittwoch 27. April 2005, 09:19
von Alex_winf01
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.)

Verfasst: Mittwoch 27. April 2005, 10:10
von Alex_winf01
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?

Re: Fehlermeldung beim ZCatalog

Verfasst: Mittwoch 27. April 2005, 10:46
von gerold
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
:-)

Verfasst: Mittwoch 27. April 2005, 10:50
von Alex_winf01
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

Verfasst: Mittwoch 27. April 2005, 10:59
von gerold
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
:-)

Verfasst: Mittwoch 27. April 2005, 11:02
von Alex_winf01
Ich hab auch "Z Search Interface" benutzt. :)
Wahr wohl Gedankenübertragung

Verfasst: Mittwoch 27. April 2005, 11:10
von Alex_winf01
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?