Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: News nur aus aktuellen Ordners anzeigen

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

    Standard News nur aus aktuellen Ordners anzeigen

    Hallo,

    erstmal die Infos zu meinem System:
    * Plone 3.0.4
    * CMF-2.1.0
    * Zope (Zope 2.10.5-final, python 2.4.4, win32)
    * Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)]
    * PIL 1.1.6

    ich habe nun folgende Frage:
    soweit ich das verstanden habe nutzt das Standard news Portlet den portal_catalog um alle news anzuzeigen (egal wo sie liegen)

    Ich möchte nun folgendes Verhalten erreichen:
    wenn ich in Unterordner1 bin sollen nur die news angezeigt werden die im gleichen Pfad liegen (also Unterordner1/news1, Unterordner1/news2, aber NICHT Unterordner1/Ordner/news1 und NICHT /news1)

    Ich habe hier im Forum diese Lösung gefunden, diese funktioniert aber nur eingeschränkt (das skript läd alle news aus allen unterordnern des aktuellen Ordners, aber nur wenn ich in der view "ordner/folder_contents" bin.
    Dieses Skript läuft angeblich in Plone2 einwandfrei.
    http://www.forum-hilfe.de/viewtopic....390f490a70bb7f

    ich danke schonmal im Voraus

    mfg
    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

    DU benötigst eine angepasste Katalogsuche die bei der Suche über 'path' den Namen den Pfad des aktuellen Ordners verwendet und zusätzlich 'level'=1
    übergibt. Damit wird die Suche auf den aktuellen Ordner ohne Unterordner eingeschränkt.

    Der zitierte Verweis auf die Plone 2 Modifikation ist murks.

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    24.01.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard habe das so versucht, geht aber nicht.

    erstmal danke für die schnelle Antwort.
    Toll wäre wenn du deinen Vorschlag in das unten stehende Codefragment einfügen würdest

    Code:
    <html xmlns&#58;tal="http&#58;//xml.zope.org/namespaces/tal"
          xmlns&#58;metal="http&#58;//xml.zope.org/namespaces/metal"
          i18n&#58;domain="plone">
    <body>
      <div metal&#58;define-macro="portlet"
           tal&#58;define="results  python&#58;here.portal_catalog&#40;portal_type = &#91;'News Item'&#93;,
                                                  review_state = 'published',
                                                  sort_on='getObjPositionInParent',
                                                  sort_order='forward',                                                                                   
                                                  level='1',
                                                  path=&#123; 'query'&#58; here.absolute_url_path&#40;&#41;,'level' &#58; 0 &#125;&#41;;
                       dummy    python&#58; here.REQUEST.set&#40;'news', results&#41;;">
     
          <metal&#58;news use-macro="here/portlet_news/macros/portlet">
            call the default news-portlet
          </metal&#58;news>
     
      </div>
    </body>
    </html>

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

    Standard

    Meine Antwort enthält alle Infos, um den Code selbst anzupassen. Lies bitte genau und schau Dir den Code mal *selbst* genau an. Immer nur Code kopieren ohne zu verstehen was man eigentlich macht ist auch keinte gute Lösung.

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    24.01.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von ajung
    Meine Antwort enthält alle Infos, um den Code selbst anzupassen. Lies bitte genau und schau Dir den Code mal *selbst* genau an. Immer nur Code kopieren ohne zu verstehen was man eigentlich macht ist auch keinte gute Lösung.
    ok, ich habe folgendes verstanden:
    Der Katalog bekommt Werte übergeben, wie / wo / was er suchen soll
    level='1' bewirkt das nicht in unterordnern oder übergeordneten ordnern gesucht wird
    path wird mit einer python anweisung gefüllt die den aktuellen pfad erzeugt.
    da diese anweisung anscheinend einen Fehler enthält, müste ich wissen, wie man in einem portlet korrekt den richtigen aktuellen Pfad(url) erzeugen kann

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

    Standard

    Die Objekte im Katalog werden über den Pfad in der ZODB indexiert.
    Jedes Objekt hat eine Methode getPhysicalPath(), die eine Liste der einzelnen Ordnernamen zurückliefert. Diese wertest Du aus und erzeugst aus der Liste von Namen den kompletten Pfad. Tipp: '/'.join(liste)

    Das muss genügen

  7. #7
    HTML Newbie
    Themenstarter

    Registriert seit
    24.01.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard neues Problem

    hallo,

    das mit dem join funzt in meiner eclipse ide einwandfrei
    Probleme gibt es wenn ich es in meinen Portlet Code einfügen möchte

    mein Ansatz war eine Variable anzulegen (liste) wo dann nachher der zusammengesetzte Pfad drinsteht.
    Ausführen kann ich diesen Code in Plone nicht, es gibt eine Fehlermeldung
    <div metal:define-macro="portlet"
    tal:define="liste python:'/'.join(['polly','wants','some']); >
    </div>

    solangsam gehen meine Fragen in Richtung Newbie, das ist mir klar

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

    Standard

    "eine Fehlermeldung"? Welche? Die Fehlermeldung sagt Dir *bestimmt* was falsch ist. Das tal:define endet normalerweise damit wie es angefangen...mit einem doppelten Hochkomma.

  9. #9
    HTML Newbie
    Themenstarter

    Registriert seit
    24.01.2008
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard weiteres problem

    Das letzte Problem hat sich erledigt, dafür habe ich ein neues:

    das ist mein aktueller Code,
    das level='1' scheint nicht die Auswirkung zu haben die ich möchte (er durchsucht den aktuellen ordner und alle unterordner, erwünschtes Verhalten war: nur aktueller ordner)

    Code:
    <html xmlns&#58;tal="http&#58;//xml.zope.org/namespaces/tal"
          xmlns&#58;metal="http&#58;//xml.zope.org/namespaces/metal"
          i18n&#58;domain="plone">
    <body>
      <div metal&#58;define-macro="portlet"
           tal&#58;define="phyPath  python&#58;here.getPhysicalPath&#40;&#41;;
                       phyPath2 python&#58;list&#40;phyPath&#41;;
                       dummy2   python&#58;phyPath2.pop&#40;&#41;;
                       liste    python&#58;'/'.join&#40;phyPath2&#41;;
                       results  python&#58;here.portal_catalog&#40;portal_type = &#91;'News Item'&#93;,
                                                  review_state = 'published',
                                                  sort_on='getObjPositionInParent',
                                                  sort_order='forward',                                                                                   
                                                  level='1', 
                                                  path=liste&#41;;
                       dummy    python&#58; here.REQUEST.set&#40;'news',results&#41;;">
     
          <span>getPhysicalPath&#58;</span>
          <span tal&#58;content="liste"></span>
    
          
          <metal&#58;news use-macro="here/portlet_news/macros/portlet">
            call the default news-portlet
          </metal&#58;news>
     
      </div>
    </body>
    </html>
    danke übrigens

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

    Standard

    Sorry, mein Fehler.

    depth=1

    muss es sein

    Siehe ExtendedPathIndex/README.txt

Ähnliche Themen

  1. News (ältere News)
    Von mymaddin im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 13.07.2007, 23:13
  2. visible news items im News Portlet
    Von dulldeidi im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 4
    Letzter Beitrag: 19.12.2006, 22:35
  3. Schutz eines Ordners unter win xp
    Von Snowman1 im Forum Computer - Internet Forum
    Antworten: 2
    Letzter Beitrag: 22.02.2005, 16:24
  4. Inhalt des Ordners anzeigen lassen
    Von Rocco im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 16
    Letzter Beitrag: 07.02.2005, 11:59

Stichworte

Berechtigungen

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