Ergebnis 1 bis 5 von 5

Thema: Datei mit Objekt abspeichern

  1. #1
    HTML Newbie
    Registriert seit
    15.02.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Datei mit Objekt abspeichern

    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="existsathdfpath" 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
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Meister(in)
    Registriert seit
    08.12.2007
    Ort
    Tübingen
    Beiträge
    266
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Der Code st ziemlicher Murks.

    Wenn 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.


    """
    <tal:block tal:define="resultObject result/getObject">
    <p class="body" tal:define="pdfpath string:${resultObject/absolute_url}.pdf">
    """

    resultObject hat Methoden, um auf die URL den Pfad des referenzierten Objektes zuzugreifen (getURL(), getPath()).

    Wenn Du überprüfen willst, ob in einem bestimmten Ordner, dessen Objekt Du hast ein Objekt mit einer bestimmten ID vorhanden ist machst Du dies am besten via

    some_id in folderobject.objectIds()

    -aj

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    15.02.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Erstmal danke für die Antwort.
    Wenn 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&#58;block tal&#58;define="resultObject result/getObject"> 
    <p class="body" tal&#58;define="pdfpath string&#58;$&#123;resultObject/absolute_url&#125;.pdf">
    
    <tal&#58;block repeat="files here/../bibfiles/getFolderContents">
      <tal&#58;block define="pdfid files/getId">
        <b tal&#58;condition="python&#58; pdfpath == pdfid" tal&#58;replace="pdfpath">pdfpath[/b]
      </tal&#58;block>
    </tal&#58;block>
    </p>
    Auch murrks?

  4. #4
    HTML Newbie
    Themenstarter

    Registriert seit
    15.02.2008
    Beiträge
    4
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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.

  5. #5
    Meister(in)
    Registriert seit
    08.12.2007
    Ort
    Tübingen
    Beiträge
    266
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wenn man klare Hinweise ignoriert oder nicht umsetzen will und stattdessen lieber selber rumfrickelt..

Ähnliche Themen

  1. datei auslesen und ändern neu abspeichern
    Von holzverleih im Forum Forum für alle anderen Programmiersprachen
    Antworten: 0
    Letzter Beitrag: 19.03.2008, 15:11
  2. Notepad++ abspeichern?
    Von Martin279 im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 23.04.2007, 08:22
  3. variable abspeichern
    Von kiffwunder im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 30.11.2006, 17:02
  4. Abspeichern in DB funzt nit richtig
    Von Noob im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 31.07.2006, 20:34
  5. gif abspeichern
    Von Tina im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 11.02.2004, 18:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •