Wir planen ein größeres Upgrade der Forensoftware. Weitere Infos: Upgrade der Forensoftware + Downtime. Sobald die neue Version veröffentlicht wurde werde wir euch erneut informieren.

Suchfehler im Joomla Frontend / HTML Code im Frontend sichtbar

    Suchfehler im Joomla Frontend / HTML Code im Frontend sichtbar

    Hallo an alle,

    bei einer lokalen Internetseite (Wir haben im Team unsere Kontaktdaten auf der Webseite, wo man nur über das interne Netz zugreifen kann), die mit Xampp und Joomla zum Laufen gebracht wurde, kommt es bei der Suche nach Namen (Joomla eigene Kontakt Komponente) immer wieder zu Fehlern. (siehe Screenshot unten) Statt des Namens oder des Namens im Artikel, der dann hervorgehoben wird, wird ein HTML Code mit angezeigt. Woran kann das liegen? Wie kann man den Fehler beheben. Bisher kam der Fehler nur in Verbindung mit den Kontakten auf. Wenn man einen einzelnen Vornamen ohne Nachnamen als neuen Kontakt einfügt, ist der Fehler weg, jedoch brauchen wir auf der Webseite den Vor- und Nachnamen.

    Ich würde mich freuen, wenn ihr mir helfen könnt.
    ;) :)


    VG
    Kristof

    Link zum Screenshot:
    drive.google.com/open?id=0B9HCSFRwzEfKMXNZRi0tQ1NfaHM

    JoomlaWunder schrieb:

    Auf Anhieb würde ich auf einen Syntaxfehler tippen! Das lässt sich aber ohne den Code kaum beurteilen.
    Ist gerade etwas schwierig das nachzuvollziehen. Habt ihr denn diesbezüglich irgendwo rumgebastelt?


    Nein, haben da nichts speziell verstellt. Der Fehler kommt auch nur, wenn man nach Namen sucht, die in der Kontaktliste steht, welche ich monatlich neu aktualisiere. Also Kontakte entferne bzw. neue hinzufüge.

    Wo kann man da denn was verstellen? Also die Plugins sind alle ok.


    VG
    Das ist ein bekanntes Problem mit Template-Overrides für com_search. In Joomla wurde ein Bug gefixt. Auch Suchtreffer im Titel werden per Highlighter-Tags ausgezeichnet, so, dass man sie z.B. per CSS gelb hinterlegen kann.

    Gehe in den Ordner html/com_search/ deines Templates. Bearbeite Datei default_results.php. Suche nach den Stellen mit $result->title und entferne das escape(...)

    Also bspw. aus

    PHP-Quellcode

    1. <?php echo $this->escape($result->title); ?>
    wird

    PHP-Quellcode

    1. <?php echo $result->title; ?>
    Joomla-Fachmann: ghsvs.de

    JoomlaWunder schrieb:

    Auf Anhieb würde ich auf einen Syntaxfehler tippen! Das lässt sich aber ohne den Code kaum beurteilen.
    Ist gerade etwas schwierig das nachzuvollziehen. Habt ihr denn diesbezüglich irgendwo rumgebastelt?


    Re:Later schrieb:

    Das ist ein bekanntes Problem mit Template-Overrides für com_search. In Joomla wurde ein Bug gefixt. Auch Suchtreffer im Titel werden per Highlighter-Tags ausgezeichnet, so, dass man sie z.B. per CSS gelb hinterlegen kann.

    Gehe in den Ordner html/com_search/ deines Templates. Bearbeite Datei default_results.php. Suche nach den Stellen mit $result->title und entferne das escape(...)

    Also bspw. aus

    PHP-Quellcode

    1. <?php echo $this->escape($result->title); ?>
    wird

    PHP-Quellcode

    1. <?php echo $result->title; ?>


    Hi,

    in dem Ordner finde ich den Code nicht. Muss ich den Code einfügen?

    Siehe Quellcode:


    --------------------------------------

    <?php
    /**
    * @package yoo_master2
    * @author YOOtheme yootheme.com
    * @copyright Copyright (C) YOOtheme GmbH
    * @license gnu.org/licenses/gpl.html GNU/GPL
    */

    // include config and layout
    $base = dirname(dirname(dirname(__FILE__)));
    include($base.'/config.php');
    include($warp['path']->path('layouts:'.preg_replace('/'.preg_quote($base, '/').'/', '', __FILE__, 1)));

    -------------------------------


    VG und Danke

    Indigo66 schrieb:

    Du benutzte das Yootheme Warp-Framework. Da findest Du es evtl. da.
    \warp\systems\joomla\layouts\com_search\search


    Ok, fasst geschafft. Der HTML Code ist jetzt weg. Jetzt steht aber immer noch folgendes nach dem Suchergebnis (Ich nenne mal einen Fake-Namen als Beispiel):

    Gesucht wurde nach "Frank Mustermann":

    Ergebnis: "Frank">Mustermann, Frank"

    Wie erreiche ich es, dass nur "Mustermann, Frank" dort steht? In der PHP habe ich folgendes entfernt: "$this->escape"

    Frank

    astrid schrieb:

    $this->escape(strip_tags($result->title))


    Damit entfernst du die Highlightning-Tags. Gut, kann man drauf verzichten, aber

    es wird dann doppelt ge-htmlspecialchared. War z.B. ein & im Titel, wird Joomla-Core daraus ein &amp; machen, was auf der Seite als & erscheint. Bei einem weiteren escape() erscheint für Besucher aber "&amp;" (im Quelltext "&amp;amp;").
    Ähnliches bei Anführungszeichen...

    Oder anders: Joomla-Core führt bereits ein escape(...) (= htmlspecialchar(...)) für den Titel durch. Dann werden die Highlighter-Tags drumrumgesetzt.

    Egal, wie man es dreht und wendet: Ein weiteres escape(...) für title im Override ist ab jetzt immer falsch, auch, wenn es häufig nicht durchschlägt.

    github.com/joomla/joomla-cms/b…search/view.html.php#L268

    Gibts denn kein Update für das verwendete Warp, was das berücksichtigt?
    Joomla-Fachmann: ghsvs.de

    Re:Later schrieb:

    Egal, wie man es dreht und wendet: Ein weiteres escape(...) für title im Override ist ab jetzt immer falsch, auch, wenn es häufig nicht durchschlägt.


    Da hast du recht. Es muss aber ja noch irgendetwas anderes nicht stimmen. Sonst wäre die Ausgabe nach dem Entfernen des escape() richtig.
    Und, falls nach strip_tags() immer noch HTML und/oder PHP Tags in der Ausgabe sind, dann liegt es sicher nicht alleine am escape(), oder?
    ---
    Don't push the river ... it flows by itself ...
    ---
    JUG Koblenz | Ich bin Joomler | astrid-guenther.de
    Hallo an alle,

    es funktioniert jetzt. Der Tipp von Astrid war die Lösung. Sicherlich kann ich es updaten, jedoch kostet die neue Version von dem Joomla Theme Geld. Wir haben die Version noch kostenlos bekommen. Und für unsere Zwecke reicht es aus. Wie gesagt. Die Webseite ist eine reine Dokumentationsplatform und steht nur registrierten Nutzern zur Verfügung.

    Vielen lieben Dank für eure wunderbare Hilfe. Ich weiß das sehr zu schätzen.

    VG
    Kristof

forum.joomla.de is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.