Beiträge von lunalars

    Bis zum nächsten Update?

    ICH würde alles erstmal auf den aktuellsten Stand bringen.

    Sollte das Template/Framework nicht mehr für die aktuelle Joomla-Version verfügbar sein, würde ICH es wechseln.

    Ja, das ist natürlich das Beste: erstmal alles aktualisieren und auch das Template wechseln, wenn es nicht mit j4 kompatibel ist.

    Bis ein neues Template gefunden ist und wenn nicht noch mehr Fehler vorhanden sind, kann ja aber mit dem kleinen "fix" nicht viel passieren - im schlimmsten Fall tritt der Fehler wieder auf.

    Ich beziehe mich auf den Fehler "Call to undefined method Joomla\CMS\Pagination\Pagination::get()", zu Phoca kann ich nichts sagen.

    Der code in deiner default_results.php ist veraltet.

    Zeile 63 bis 65 müssten so aussehen:

    PHP
    <?php $start = (int) $this->pagination->limitstart + 1; ?>
    <?php $total = (int) $this->pagination->total; ?>
    <?php $limit = (int) $this->pagination->limit * $this->pagination->pagesCurrent; ?>

    So steht es auch in der original default_results.php von j4 (also in components/com_finder/tmpl/search/default_results.php, dort in Zeile 83 -85).

    Wenn es also keine neuere Version deines Templates gibt, könntest du es so anpassen.

    Das sollte sich mit einem default-Wert für das "class_sfx" beheben lassen:

    Code
    $class_sfx  = htmlspecialchars($params->get('class_sfx', ''), ENT_COMPAT, 'UTF-8');

    Nochmal kurz zu "$item->params" vs. "$item->getParams()":

    Es geht hier um die Params des Menuitems. "Früher" konnte man einfach per "$item->params" darauf zugreifen, mittlerweile sind sie aber "protected" und müssen daher erst per "$item->getParams()" "geholt" werden. Daher die Fehlermeldung aus deinem ersten Post: "cannot access protected property ..."

    Der Fehler ist jetzt behoben, oder verstehe ich das falsch?

    Sorry für die vielen Anführungszeichen :)

    "$item->params" funktioniert in j4 nicht mehr., "$item->getParams()" aber.

    Du könntest es mal so versuchen:

    Code
    $itemParams = $item->getParams();
    
    if (($itemParams->get('menu_show', 1) == 0) || in_array($item->parent_id, $hidden_parents)) ...

    Und natürlich an alle anderen stellen "$item->params" im helper dann auch durch "$ItemParams" ersetzen.

    Es gibt eine Möglichkeit, das zu realisieren. Ob es für dich funktionieren würde, hängt von der Anzahl der Beiträge ab:

    1. Lege ein "Hilfsmenü" an (ohne Modulzuweisung) und erstelle darin deine Menüpunkte zu den einzelnen Beiträgen auf der obersten Menüebene.

    2. Im "Hauptmenü" legst du dann für jeden Beitrag einen Menüpunkt vom Typ "Menüeintrag-Alias" an und verknüpfst ihn mit dem zugehörigen Eintrag im "Hilfsmenü".

    Besucher sehen dann die Struktur des Hauptmenüs (also mit deinem "HAUPTMENÜPUNKT (entspricht Menüüberschrift)", aber die URL lautet jeweils example.com/dein-beitrag

    Bei sehr vielen Beiträgen / Menüpunkten wird das natürlich im Backend irgendwann unübersichtlich.

    Da fehlt noch der Ordner "mod_custom". Die Datei muss im Ordner "templates/dein-template/html/mod_custom" liegen.

    Also "templates/dein-template/html/mod_custom/carousel.php", dann sollte sie auswählbar sein

    Das entsprechende javascript ("bootstrap.carousel") fehlt hier noch / wird nicht geladen.

    Du könntest ein eigenes "Template", bzw. einen override anlegen ...

    Erstelle eine Datei "carousel.php" in templates/dein-template/html/mod_custom mit folgendem Code:

    Anschliessend kannst du diese im Backend in deinem Modul unter "Erweitert -> Layout" auswählen.

    Getestet mit j4 - sollte aber in j5 auch funktionieren.

    Es sieht so aus aus, als würden dort zwei Slideshow Module geladen:

    Im Quelltext gibt es zwei div-Container mit class="slideshowcontainer" - im ersten sind die Slides der sichtbaren Slideshow enthalten, der zweite ist leer. Auch wird "jquery.slides.min.js" dort zweimal geladen - aus dem Ordner modules/mod_j51slideshow/js".

    Schau mal im Backend bei den Modulen, ob du dort Entsprechendes findest.

    Moin!

    In den Entwicklertools bedeutet "element.style" doch, dass es sich um inline styles handelt. Dementsprechend müsste in der custom.css noch ein !important ergänzt werden, damit die inline styles überschrieben werden.

    Also:

    CSS
    img { 
        border: 3px solid #dc3545!important;
    }

    Nicht die sauberste Lösung, aber wenig Aufwand :)