Ergebnis 1 bis 20 von 20

Thema: Suchfunktion und Suchergebnis mit Teaser aus Nachrichten

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.858
    Contao-Projekt unterstützen

    Support Contao

    Standard Suchfunktion und Suchergebnis mit Teaser aus Nachrichten

    Hallo,

    ich wäre auf der Suche nach folgender Möglichkeit:

    • die Suchfunktion soll ausschliesslich in den Nachrichtenarchiven greifen
    • als Such-Ergebnis sollen die Teaser der jeweiligen Nachrichten aufgelistet werden und nicht die Texte des Inhaltes
    • Im Such-Ergebnis soll eine mögliche Nachricht dann nur 1x aufgelistet sein


    Ich könnte das z.B. über [codefog/contao-news_categories] lösen. Hat jedoch den Nachteil, dass ich immer Kategorien vergeben müsste. Und Nutzer::innen dann auch aus Kategorien auswählen müssten. Und genau das möchte ich vermeiden.
    Die Inhalte der einzelnen Nachrichten sind immer mit ausreichend Text befüllt, sodass die Suchfunktion gute Ergebnisse liefern sollte. Sprich, die Standard-Suchfunktion sollte im Idealfall nutzbar sein.
    Bloss die Ausgabe dazu bereitet mir Kopfschmerzen

    Kann ich hierfür auf „Standards“ zurückgreifen?
    Gibt es ggf. eine Erweiterung dazu?
    Oder ist dies schon so spezifisch, dass ich das programmieren lassen muss?
    Grüsse
    Bernhard


  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Punkt 1) kannst du machen, indem du beim Suchergebnismodul die Referenzseite auf die Detailseite des jeweiligen Nachrichtenarchivs setzt.

    Für Punkt 2) kannst du die JSON-LD Daten des Suchergebnisses abgreifen (sind glaube ich im search_default Template dann schon vorhanden). Dort sollte die News-ID drin sein und davon kannst du dir dann auch alles andere holen.

    Für Punkt 3) müsstest du dir im Idealfall ein eigenes Suchmodul programmieren. Geht aber auch schlampig über das search_default Template, mit Hilfe von globalen Variablen. Allerdings wird dann die Zahl des Suchergebnisses nicht übereinstimmen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    • als Such-Ergebnis sollen die Teaser der jeweiligen Nachrichten aufgelistet werden und nicht die Texte des Inhaltes
    @derRenner

    Ich versuche gerade genau dasselbe. Ist es Dir gelungen, die search_default so anzupassen, dass die News-Teaser ausgegeben werden? Gibst Du mir einen Tipp, wie? :-)

  4. #4
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.858
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein - ich glaube, dass ich das damals nicht mehr weiter verfolgt habe und wohl gar nicht, oder anders umgesetzt hatte.
    Ist ja auch schon ein Weilchen her - aber mir fällt kein betreutes Projekt ein, wo einer dieser Punkte in irgendeiner Form vorhanden wäre.
    Grüsse
    Bernhard


  5. #5
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    Ok, danke trotzdem für Deine schnelle Antwort!!

    Schade... die Modifikation des Search-Templates wäre wohl die schönste Lösung gewesen, krieg ich nur leider nicht hin.
    Dann versuche ich es jetzt auch mal mit der Kategorien-Erweiterung von Codefog.

  6. #6
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    452

    Standard

    Nie genutzt aber schau auch mal hier:
    https://github.com/heimrichhannot/contao-search-bundle

  7. #7
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    Nie genutzt aber schau auch mal hier:
    https://github.com/heimrichhannot/contao-search-bundle
    Danke!

    Hab die Erweiterung installiert und rumprobiert glaube, die Features verstanden zu haben.

    Man kann PDFs durchsuchen, was natürlich ziemlich cool ist, wenn man es braucht und bietet weitere Filter, um Seiten ein- oder auszuschließen. Desweiteren kann man einen "Related Search"-Link setzen, der die Suchparamter von einem Suchmodul zu einem anderen durchreicht, was praktisch ist, wenn man mit News-Filtern arbeitet. Außerdem kann man Such-Keywords loggen, auch spannend.

    Aber ich stehe auch dem Schlauch - hab ich was übersehen? Ich will ja nur die Suchergebnisse so haben wie in einer Newsliste. Also wie vom TE geschildert. Ich sehe auch in der Feature-Beschreibung nichts, was in die Richtung geht. Oder überseh ich was?


    Für Punkt 2) kannst du die JSON-LD Daten des Suchergebnisses abgreifen (sind glaube ich im search_default Template dann schon vorhanden). Dort sollte die News-ID drin sein und davon kannst du dir dann auch alles andere holen.
    Also dem hier würde ich gern nachgehen, scheitere aber am "abgreifen" der JSON-LD.
    Geändert von pipkin (15.04.2024 um 20:10 Uhr)

  8. #8
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    452

    Standard

    Es gibt derzeit keinen Hook im SearchModule, dass du diese Ergebnisse so anzeigen kannst.
    Wenn es um die Teaser geht würde ich vorschlagen, dass du entweder ein eigenes Suchmodul programmierst oder wie von Spooky beschrieben:
    • Die Suchergebnisse nur auf News beschränkst
    • Danach die Suchergebnisse über die Metadaten / JSON-LD Daten nochmal modifizierst


    Die Logik welche versucht wird anzupassen, befindet sich in dieser foreach und wird am Ende über ".=" concatenated:
    https://github.com/contao/contao/blo...php#L235-#L277
    Hier gibt es keinen Hook, daher schlichtweg nicht möglich um es auf "normalem" Wege zu realisieren.

  9. #9
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    Die Suchergebnisse nur auf News beschränkst
    Das hab ich, das geht ja auch super einfach.

    Danach die Suchergebnisse über die Metadaten / JSON-LD Daten nochmal modifizierst
    Ich krieg aber die News-ID nicht über die search_default nicht ausgelesen..

    Ok, wahrscheinlich ist das der Punkt, wo ich das bei den Kleinstaufträgen mal reinstellen sollte.

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    In Contao 5 ist das von Haus aus möglich.

    In Contao 4.13 kannst du aber auch das news_full Template anpassen, sodass auch das Bild in den Metadaten der Sucheinträge mit gespeichert wird (ausgegeben würde es dann von Haus aus, auch in Contao 4.13).
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    In Contao 5 ist das von Haus aus möglich.
    Ich bin in der Version 5.3.4 unterwegs.

    Mir fehlt schlicht das Wissen, was ich in die search_default reinschreiben muss, damit die mit <?= $this->newsHeadline ?> etwas anfangen kann und unter <?= $this->text ?> den News-Text ausspuckt und nicht einen Teil vom zusammengesetzten <?= $this->context ?> versteht.

    Edit: Es würde mir auch völlig reichen, wenn ich an die Stelle heran käme, in der <?= $this->context ?> zusammengeschraubt wird. Also vielleicht....

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Mein Kommentar bezog sich nur auf die Darstellung "wie eine News" (inkl. Teaserbild) .
    An die Daten der zu einem Suchergebnis gehörenden Nachricht kommst du wie gesagt über die Metadaten des Suchergebnisses (dazu am besten Template Variablen ausgeben). Vorausgesetzt du hattest kein angepasstes news_full Template, wo du das unterbunden hast.
    » sponsor me via GitHub or PayPal or Revolut

  13. #13
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    Habe mir per

    <pre>
    <?php $this->dumpTemplateVars(); ?>
    </pre>

    in der search_default die verfügbaren Variablen aus dem Suchergebnis ausgeben lassen. Zum Testen habe ich nur eine einzelne News als Fundstelle, in dieser habe ich folgende Felder genutzt:

    - Titel "Newstitel"
    - Meta Titel "News Metatitel"
    - Meta Beschreibung "News Meta Beschreibung"
    - Unterüberschrift "News Unterüberschrift"
    - Teasertext "News Teasertext"


    Die Variablenausgabe sieht so aus:

    Code:
     array:21 [?
      "id" => 3
      "protected" => 0
      "pid" => 3
      "tstamp" => 1713213109
      "title" => "News Metatitel"
      "url" => "domain.com"
      "text" => """
        Newstitel News Unterüberschrift News Teasertext News Meta Beschreibung
    
        News Metatitel
        """
      "filesize" => 2.49
      "checksum" => "122dd4028969f4428757c9d027a66d1d"
      "groups" => "a:0:{}"
      "language" => "en"
      "vectorLength" => 4.7407215061488
      "meta" => "
    [{"@context":"https:\/\/schema.org\/","@type":"https:\/\/schema.org\/WebPage"},{"@context":"https:\/\/schema.org\/","@id":"#\/schema\/news\/4","@type":"https:\/
     ?
    "
      "relevance" => "100.00% relevance"
      "matches" => "News"
      "href" => "domain.com"
      "link" => "News Metatitel"
      "unit" => "KiB"
      "context" => "
    Newstitel <mark class="highlight">News</mark> Unterüberschrift <mark class="highlight">News</mark> Teasertext <mark class="highlight">News</mark> Meta Beschreib
     ?
    "
      "hasContext" => true
      "hasImage" => false
    ]
    Die Felder Titel, Unterüberschrift, Teasertext und Meta Beschreibung sind hier zu "text" verschmolzen.

    Wie bekomme ich nun einzeln den Titel, die Unterüberschrift und den Teasertext angesprochen?

  14. #14
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    452

    Standard

    Zitat Zitat von pipkin Beitrag anzeigen
    Code:
     array:21 [?
      "id" => 3
      "protected" => 0
       ...
    Die Felder Titel, Unterüberschrift, Teasertext und Meta Beschreibung sind hier zu "text" verschmolzen.

    Wie bekomme ich nun einzeln den Titel, die Unterüberschrift und den Teasertext angesprochen?


    Zitat Zitat von Spooky Beitrag anzeigen
    Für Punkt 2) kannst du die JSON-LD Daten des Suchergebnisses abgreifen (sind glaube ich im search_default Template dann schon vorhanden).
    Dort sollte die News-ID drin sein und davon kannst du dir dann auch alles andere holen.
    ^ NewsModel mit ID

  15. #15
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    Ok, wahrscheinlich ist das der Punkt, wo ich das bei den Kleinstaufträgen mal reinstellen sollte.
    Danke trotzdem für alles!

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Die Daten sollten unter "meta" sein (also die ID der News bspw.).
    » sponsor me via GitHub or PayPal or Revolut

  17. #17
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    ^ NewsModel mit ID
    Wenn ich mir die Variablen direkt im Newstemplate ausgeben lasse, hat dieselbe News eine andere ID. Die hier ausgegebene ID scheint also eine andere zu sein.

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Ja, diese ID ist nur die tl_search.id, nicht die einer News. Die News Daten wären wie schon erwähnt in "meta" im JSON drin.
    » sponsor me via GitHub or PayPal or Revolut

  19. #19
    Contao-Fan
    Registriert seit
    12.04.2011.
    Ort
    Hamburg
    Beiträge
    506

    Standard

    Die Daten sollten unter "meta" sein (also die ID der News bspw.).
    Zumindest taucht hier die richtige Zahl auf - nur News mit der ID 4:

    Code:
      "meta" => "
    [{"@context":"https:\/\/schema.org\/","@type":"https:\/\/schema.org\/WebPage"},{"@context":"https:\/\/schema.org\/","@id":"#\/schema\/news\/4","@type":"https:\/
     ?
    Wie ich von hier aus weiterkomme, weiß ich leider nicht - aber ich habe das mal als Anfrage in die Kleinstanzeigen gestellt.

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Das sind JSON Daten, die kannst du decoden und dann darauf zugreifen.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

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