Länge Ergebnisse Suchfunktion

  • Diesmal habe ich ein hoffentlich leicht zu lösendes Problem:

    Mir ist es zwar gelungen den Kasten mit den Ergebnissen der Suche zu verbreitern, allerdings wird der Text nach wie vor an der selben Stelle mit Punkten beendet.
    Wie kann ich es erreichen, dass der Titel des gefundenen Artikels, soweit möglich, ausgeschrieben wird?

    Eine weitere Frage: Kann ich erreichen, dass bei den Suchergebnissen der Pfad mit angezeigt wird?

    Danke wieder für alle Tipps.

    ulli

  • Hallo,

    Natürlich geht auch dies. Die Größenänderung nehme ich an hast du via CSS gelöst. Die Anpassungen für diesen Use-Case müssen über das Template gemacht werden. Dort sind feste Längen definiert, des weiteren kann via einem TAL-Ausdruck, auch der Pfad angezeigt werden.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Ok, das heißt, ich muss chinesisch schreiben, ohne es richtig zu können.

    Kannst Du mir bitte sagen, an welcher Stelle des Templates die Länge bestimmt wird und mit welchem Ausdruck man die Pfadeingaben einbinden kann?

    Danke!

    ulli

    Einmal editiert, zuletzt von ullistein (26. Mai 2010 um 11:10)

  • Hallo Ulli,

    die Anzeige der Suchfunktion regelt das Template search.pt.

    Für die Länge der Vorschau ist die Variable desc_length zuständig, die auf den Wert von search_results_description_length aus den site_properties gesetzt ist.

    Die Darstellung der Pfadangaben habe ich bei mir wie folgt gelöst:
    Nach der folgenden Stelle in search.pt, wo die Description verkürzt wird

    Code
    <span tal:replace="python:plone_view.cropText(result.Description, desc_length, desc_ellipsis)">
      Cropped description
    </span>


    habe ich Folgendes eingefügt:

    Dazu gehört noch das folgende Script (Python) searchresult_breadcrumb.py, das die einezlnen Pfad-Bestandteile liefert:

    Gruß
    Verena

  • Hallo,

    erstmal entschuldigung, dass ich nicht mehr geantwortet habe mit einer Lösung. Verenas Antwort ist sehr sehr gut, nur zwei Sachen sind für mich nicht 100 % verständlich:

    1. Warum ist der Pfad in ein class="documentByLine" eingebettet?, das macht doch nur gestalterische Änderungen, warum kein breadcrum wovon es übernommen ist.
    2. Warum so viele unnötige span tags, da keine i18n:translate elemente mehr existieren werden die nicht entfernt, aber da es in der darstellung keinen unterschied macht, ok.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • Hallo,

    Zitat

    1. Warum ist der Pfad in ein class="documentByLine" eingebettet?, das macht doch nur gestalterische Änderungen, warum kein breadcrum wovon es übernommen ist.


    Ich wollte dass der Pfad in der gleichen kleineren Schrift angezeigt wird wie die documentByLine.

    Zitat


    2. Warum so viele unnötige span tags, da keine i18n:translate elemente mehr existieren werden die nicht entfernt, aber da es in der darstellung keinen unterschied macht, ok.


    Stimmt, das hätte man noch bereinigen können.

    Gruß
    Verena

  • Vielen Dank für die Antworten.

    Da ich in letzter Zeit ein wenig viel um die Ohren hatte, konnte ich mich mit dem Thema zwischendurch nicht weiter beschäftigen.

    Mit Verenas Hinweis ändert sich nur die Länge der Beschreibung in der Suchfunktion. Das ist schon mal ganz hilfreich, ändert aber nicht die Länge der Titelzeile.

    Mit einem fetten Grinsen im Gesicht kann ich aber berichten, dass ich es selbst herausgefunden habe :-D:

    Die Länge der Titelanzeige in den Suchergebnissen stellt man im Script für die Suche ein:

    … Plone/portal_skins/plone_scripts/livesearch_reply

    Unter:

    # SIMPLE CONFIGURATION
    USE_ICON = True
    USE_RANKING = False
     MAX_TITLE = 100
    MAX_DESCRIPTION = 100


    So sieht man den gesamten Titel des Artikels, auch wenn er ein wenig länger ist.


    Eine Frage habe ich noch zur Pfadangabe: Wo und wie muss ich das Skript searchresult_breadcrumb.py einfügen?


    Danke für die Unterstützung!


    ulli

  • Zitat


    Eine Frage habe ich noch zur Pfadangabe: Wo und wie muss ich das Skript searchresult_breadcrumb.py einfügen?

    Wenn Du Deine Anpassungen im ZMI machst, wäre portal_skins/custom der richtige Ort. Bei einem Theme-Produkt im Filesystem der Ordner skins/<themename>_theme_templates.

    Gruß
    Verena

  • Wenn Du Deine Anpassungen im ZMI machst, wäre portal_skins/custom der richtige Ort. Bei einem Theme-Produkt im Filesystem der Ordner skins/<themename>_theme_templates.

    Gruß
    Verena

    Ok, aber in den Ordner custom kommen die Sachen doch erst rein, wenn ich sie im ursrpünglichen Ablageort aufgerufen und dann auf "Customize" geklickt habe. Oder geht das noch anders?

    ulli

  • Ok, aber in den Ordner custom kommen die Sachen doch erst rein, wenn ich sie im ursrpünglichen Ablageort aufgerufen und dann auf "Customize" geklickt habe. Oder geht das noch anders?

    ulli

    Meines Wissens kann man im ZMI über den Add-Button rechts oben Objekte -in unserm Fall ein Script(Python)-Objekt - überall hinzufügen, also auch in custom. Dann hast Du all Deine Anpassungen in custom versammelt.

    Bei mir mache ich aber seit Plone 3 alle Anpassungen über eigene Produkte im Dateisystem.
    Gruß
    Verena

  • Das klingt nach der Fortgeschrittenen-Methode ;-).

    Ehrlich gesagt, weiß ich nicht mal, wie man ein Python-Objekt erstellt. Ich nutze immer die vorhandenen Sachen.

    Wir installieren Plone auch für Kunden, da müssen die Lösungen zur Bearbeitung immer einfach sein. Und "Customizen" ist verhältnismäßig einfach.

    ulli

  • Hallo Ulli,
    wenn Du Deine Anpassungen über das ZMI machst, ist der Weg wie folgt.
    1. search.pt customizen wie üblich (Code siehe weiter oben im Thread)
    2. Unter portal_skins/custom neben dem Add-Button "Script(Python)" auswählen und auf "Add" klicken
    3. Als Id "searchresult_breadcrumbs eingeben" und auf "Add and Edit" klicken.
    4. In dem Feld Parameter List resultobject eingeben
    5. Den Beispielcode durch folgende drei Zeilen ersetzen:

    Code
    breadcrumbs_view=resultobject.restrictedTraverse('@@breadcrumbs_view')
    breadcrumbs = breadcrumbs_view.breadcrumbs()
    return breadcrumbs[:-1]


    6. Speichern und testen.
    Gruß
    Verena