Beiträge von reburg

    Hallo,


    Auf meinem Server (openSUSE 15.4) läuft jetzt PHP8.

    Im Frontend scheint so weit alles okay.

    Ins Backend komme ich auch, aber wenn ich einen Beitrag bearbeiten will, erscheint eine leere Seite.


    Muss wohl am Template liegen. Auf manchen meiner Joomal Instanzen habe ich das beez3 Template. Da tritt dieses Problem nämlich nicht auf.

    Ich verwende Joomla 3.10


    Da ich nicht so ohne weiteres von heute auf morgen auf Joomla4 upgraden kann, möchte ich fragen, ob es irgend einen schnellen Hack gibt, um vorübergehend wieder arbeiten zu können.


    Kann ich vielleicht in der Datei php.ini etwas anpassen? Ich habe root access am Server.


    Danke für jeden Tipp.


    Es liegt am Editor.

    Ich verwende seit Jahren JCE.


    Wenn ich auf der betreffenden Site im Backend in der Benutzerverwaltung den TinyMce als Editor einstelle, dann werden die Beiträge wieder zum Bearbeiten angezeigt.


    Wenn es sein muss, kann ich damit leben. Doch, falls jemand einen Tipp für mich bereit hat, ich bin dankbar.

    Okay, danke.


    Hier also, für andere, die das auch interessieren könnte, der relevante Codeausschnitt aus dem Template Override com_wrapper/wrapper/default.php


    PHP
    $url = $this->wrapper->url
    $url = str_replace('https://local_path', '/local_path', $url);
    $url = str_replace('http://local_path', '/local_path', $url);
    
    $this->wrapper->url = $url; ?>
    <iframe <?php echo $this->wrapper->load; ?>
       id="blockrandom"
       name="iframe"
       src="<?php echo $this->escape($this->wrapper->url); 
       ...

    Es hat den Anschein, dass das funktioniert.

    Danke sehr herzlich für diese klärende Information. Anscheinend habe ich doch noch zu früh begonnen, mit der Portierung meiner Seiten auf Joomla 4. :(


    Aber zum Thema Overrides:

    Da bin ich jetzt doch etwas überfordert.


    Ich habe zwar schon seit langem ein Override von mod_wrapper im Frontend in Verwendung - aber aus einem anderen Grund.


    Von welcher Komponente könnte ich nun ein Override machen, um das zu erreichen, was ich will, nämlich die Möglichkeit, einen relativen Pfad im Backend einzugeben (dem nicht automatisch http:// vorangestellt wird.)


    Das Override würde für mein Problem ja das Backend betreffen und nicht das Frontend, sehe ich das richtig?

    Hallo,


    In Joomla 4 kann ich einen Menüpunkt vom Typ IframeWrapper nicht mit einem relativen Pfad ohne vorangestelltes http:// festlegen.


    Obwohl ich die Option Erweitert / Automatisch Hinzufügen deaktiviert habe, beginnt die Iframe-URL mit http://. Das ist schlecht für mich, weil ich nicht die gleiche Wrapper-URL auf meiner Produktionsseite und auf der Debug-Version auf localhost verwenden kann.


    Interessanterweise tritt dieses Problem im Iframe Wrapper Modul nicht auf. Im Iframe-Wrapper Modul ist es weiterhin möglich, einen relativen Pfad ohne vorangestelltes http:// zu verwenden.


    Unter Joomla 3 war dies auch bei einem IframeWrapper Menüeintrag möglich.


    Ein Workaround wäre, für jeden IframeWrapper ein Modul zu erzeugen und dieses in einem Beitrag anzuzeigen. Aber ich verstehe nicht, warum ich das jetzt so umständlich machen soll, wenn es doch bisher ganz einfach gegangen ist ... nono

    Das Problem war einfach zu lösen.

    In der Datei default.php der Komponente mod_wrapper wird jetzt in Joomla 4 offensichtlich eine Variable $url verwendet.


    Hier der an an Joomla 4 angepasste Code:

    Code
    if ( strstr ($url,"?")  )
        $url .= "&referer=joomla";
    else $url .= "?referer=joomla";
    $user = JFactory::getUser();
    if ( $user->username )
    $url .= "&user=".$user->username;

    Anschließend wird die Variable $url dann verwendet:, um den Iframe zu erstellen:

    PHP
    <iframe <?php echo $load; ?>
        id="blockrandom-<?php echo $id; ?>"
        name="<?php echo $target; ?>"
        src="<?php echo $url; ?>"

    Hallo,

    ich habe unter Joomla 3 die Komponente Wrapper etwas modifiziert, um 2 Parameter an die URL anzuhängen.

    Hier der Code, wie er unter Joomla 3 funktioniert hat:


    Code
    if ( strstr ($this->wrapper->url,"?")  )
        $this->wrapper->url .= "&referer=joomla";
    else $this->wrapper->url .= "?referer=joomla";
    $user = JFactory::getUser();
    if ( $user->username ) 
        $this->wrapper->url .= "&user=".$user->username;

    Mit Joomla 4 geht das so jedenfalls nicht mehr. fie
    Wie könnte ich das mit Joomla 4 hinkriegen?


    Danke für jeden Tipp.

    Hallo,

    ich möchte ganz schlicht in einem Beitragstext die Mitglieder einer bestimmten Benutzergruppe auflisten.


    Folgende Mysql Abfrage würde mir die gewünschte Namensliste direkt aus der Datenbank holen.


    SQL
    SELECT Name FROM usergroup_map
    LEFT JOIN usergroups on Id = group_id
    LEFT JOIN users on user_Id = users.id
    WHERE Group_Id = 15


    Leider fehlt mir das Knowhow, wie ich so eine Abfrage in einen Beitrag einbauen kann. Oder macht man das ohnehin ganz anders?


    Bitte nicht ungehalten sein über diese Frage eines Joomla Users, der nicht über allzu viel Hintergrundwissen verfügt.

    Hallo,

    obwohl ich in den Systeminformationen im Backend sehe, dass die Joomla Version veraltet ist, meldet die Aktualisierungsverwaltung, dass keine Aktualisierung verfügbar ist.


    System / Systeminformationen: Joomla! 3.9.11 Stable [ Amani ] 13-August-2019 15:00 GMT 


    Erweiterungen / Verwaltung / Aktualisieren:

    Es sind aktuell keine Aktualisierungen verfügbar. Bitte später erneut versuchen.


    Warum das?


    Ah, sehr interessant, das hatte ich nicht gewusst. Habe mir den Code von beez3 leider nie genauer angeschaut.

    Außerdem sehe ich da im Code jetzt auch, dass man eigenes Javascript ebenso einfach einbinden könnte ...


    Dann hätte man das Problem mit Javascript auch lösen können ...


    Danke vielmals für diesen hilfreichen Hinweis. :)

    Habe es jetzt auf die einfache Art gelöst.


    In templates/beez/css/custom.css habe ich folgende CSS Definitionen eingefügt:

    dl.contact-position { display:none }

    div.contact h3 { display:none }

    Dann ist halt auch die Überschrift beim Kontaktformular weg, aber das macht nichts.


    Diese custom.css wird bei mir mit Hilfe des Plugin Add Custom CSS eingebunden und sie wird bei einem eventuellen Update von beez3 nicht überschrieben. nono

    ... ich möchte gerne im Template Beez3 die Header-Position (Position 1) anpassen. ...

    Da ich auch das Beez3 Template schon seit Jahren verwende, möchte ich hier nur einen kleinen Tipp abgeben.


    Ich habe auch den Header Bereich an meine Bedürfnisse angepasst und ich mache das jetzt immer mit Hilfe einer custom.css Datei.


    Mit dem sehr einfach zu handhabenden Plugin Add Custom CSS wird diese Datei custom.css als letzte CSS Datei geladen und daher kann man da alles mögliche, was in den Beez3 CSS Dateien drinnen steht, überschreiben, eben auch Positionen von diversen DIV Klassen.


    Ich habe auf diese Weise das Top Menu nach oben befördert und die div.line, welche normal ganz oben ist, befindet sich bei mir jetzt weiter unten.


    Hier ein Screenshot:

    Ob dieser Ansatz wirklich professionell ist, weiß ich nicht. hmm

    Hallo,

    ich möchte auf der Kontaktseite nur das Kontaktformular haben. Ich habe im Backend unter Optionen das Anzeigeformat "Vollständig" gewählt.


    Die Überschrift "Kontakt" und darunter die Kontaktdaten sollen nicht angezeigt werden. Die Kontaktseite soll also mit der Überschrift "Kontaktformular" beginnen.


    Natürlich wäre es einfach, das entsprechende DIV in folgender Datei im Template zu entfernen:

    templates/beez3/html/com_contact/contact/default.php

    Aber damit riskiere ich, dass bei einem Update alles wieder zurückgesetzt wird.


    Das ganze Template kopieren und mit der Kopie zu arbeiten, das habe ich ja bisher immer gemacht. Hat aber den Nachteil, dass sinnvolle Änderungen am Template beez3 (die es hoffentlich ja dann und wann gibt) an mir vorbeigehen.


    In den Backend Einstellungen der Kontakt Komponente finde ich nichts, was mein Anliegen betrifft.


    Hat jemand eine Idee parat für mich?