Ich habe das Problem jetzt auf eine andere Art gelöst. Ich habe die Plone-Eigenen Verweise verwendet.
Indem man /portal_skins/plone_scripts/computeRelatedItems leicht modifizert, erhält man von dieser Funktion alle backreferences auf ein Objekt. Mit dem Macro portal_skins/plone_content/document_relatedItems und der modifizierten computerelatedItems kann man so alle Objekte anzeigen lassen, die Referenzen auf ein gegebens Objekt enthalten. Das ist genau was ich gesucht habe.
Ich poste mal lieber keinen Code um den Blutdruck gewisser Nutzer nicht in ungesunde Höhen zu treiben und beschimpfungen per PN zu entgehen.
Beiträge von Forceael
-
-
Erstmal danke für die Antwort.
ZitatWenn Du eine Catalog Abfrage machst und dann gleich das Objekt anziehst...was ist der Sinn der Kataloganfrage dann? Die Katalogabfrage ist eine optimierte Suche und erspart Dir das Laden von Objekten aus der ZODB. Das Objekt via getObject() wieder zu laden bringt nichts und ist unnötig.
Meinst du damit die erste Zeile:
<tal:block tal:define="resultObject result/getObject">
oder die darauf folgende?
Die erste Zeile ist nicht von mir sondern Teil des Anzeige-Templates das ich modifizieren will. Das lasse ich lieber wie es ist.
Den Vorschlag some_id in folderobject.objectIds() zu verwenden ist mir leider nicht gelungen? Ich nehme an du meinst sowas wie:
<b tal:condition=python:[some_id in folderobject.objectIds()]">
?Deswegen habe ich es erstmal so gemacht:
Code<tal:block tal:define="resultObject result/getObject"> <p class="body" tal:define="pdfpath string:${resultObject/absolute_url}.pdf"> <tal:block repeat="files here/../bibfiles/getFolderContents"> <tal:block define="pdfid files/getId"> <b tal:condition="python: pdfpath == pdfid" tal:replace="pdfpath">pdfpath[/b] </tal:block> </tal:block> </p>
Auch murrks? -
Hallo, ich habe ein Problem für das es bestimmt schon Lösungen gibt. Wär nett wenn jemand einen Tipp hätte.
Ich möchte, dass zusammen mit einem vorgefertigten Objekttyp auch Dateine, wie zum Beispiel Bilder oder pdfs hinterlegt werden und einem Objekt zugeordnet werden können. Als ganz primitiven Ansatz wollte ich realisieren, dass das Anzeige Template nachsieht, ob eine Datei mit gleicher id nur mit angehängtem .pdf existiert, und falls ja einen Link ausgibt:<tal:block tal:define="resultObject result/getObject">
<p class="body" tal:define="pdfpath string:${resultObject/absolute_url}.pdf">
.
.
.
<b tal:condition="exists:path:pdfpath" tal:replace="pdfpath">pdfpath[/b]
.
.
...Die condition wird aber immer als wahr ausgewertet. Kann ich die absolute url wieder in einen Pfad zurückbauen der verstanden wird? Und weiss noch jemand von anderen Konzepten, mit denen man dieses Problem angeht?
Dank im Voraus
-
Hallo,
ich habe eine Frage zu Plone. Ich fürchte sie ist sehr grundlegend, aber ich habe weder im Forum noch in den Quellen auf Plone.org etwas gefunden. Hier also meine Frage:
Wie kann ich in einem eigenen Template auf die Komponenten eines Plone-Objekts zugreifen. Konkret habe ich folgendes Anzeigeskript:<dl>
<tal:block repeat="element here/objectValues">
<b tal:define="id string:element/id">[/b]
<dd><b tal:replace="element/id">ID[/b]</dd>
<dt>Kurzbeschreibung<b tal:replace="element/description">beschr[/b]</dt>
</tal:block>
</dl>Da wo kurzbeschreibung steht hätte ich gerne die Kurzbeschreibung, die man bei Ordnern angeben kann. Außerdem würde ich gerne nur Ordner anzeigen. Wie finde ich heraus, von welchem Typ die Objekte sind. Und zu guter letzt: Wie kriege ich allgemein heraus, wie ich auf Komponenten zugreifen kann. zum Beispiel bei produkten wie CMFBibliographyAT zu dem ich noch überhaupt keine Dokumentaiton gefunden habe?
ein Link zu einem Beitrag oder Dokumentation wäre mir auch ein große Hilfe.
Vielen Dank im Voraus