Beiträge von finnern

    Download -> Upload ? Es geht um Benutzer die Bilder auf die Website kopieren -> Upload oder ?

    Es macht keinen Sinn jedem zu erlauben Bilder hochzuladen da dann den "erotischen" oder anderweitig manipulierten Bilder Tür und Tor geöffnet ist.

    Nach viel Schweiss und Versuchen fand ich eine hinreichende Einbindung.

    Trick: Import und dann Adressierung der Klasse über den kompletten in der Klasse angegebenen Namespace.


    GalleryTreeModel

    Code
    namespace Joomla\Component\RSGallery2\Administrator\Model;
    ...
    
    class GalleryTreeModel extends BaseModel
    {
    ...
        public function isRootItemExisting()


    Install script

    Code
    $GalleryTreeModelFileName = JPATH_ADMINISTRATOR . '/components/com_rsgallery2/Model/GalleryTreeModel.php';
    include ($GalleryTreeModelFileName);
    $galleryTreeModel =  new Joomla\Component\Rsgallery2\Administrator\Model\GalleryTreeModel ();
    
    // check for root item
    $isRootItemExisting = $galleryTreeModel->isRootItemExisting();

    In wieweit dort dann komplexe Aufrufstrukturen d.h. andere Namespaces benutzt werden können weiss ich nicht. Mein Bauchgefühl sagt wird wohl nicht funktionieren.

    Weder register noch load half soweit


    install script Datei

    wenn die Componente schon installiert ist, dann kann mit der obersten auskommentierten use Anweisung die Klasse geöffnet und der Text angezeigt werden.


    In der Zeile mit $msg = InstallMessage kann die Klasse nicht efunden werden.

    "Error: Class 'InstallMessage' not found in ..."

    Danke für die Mühe.


    Sorry für die vermissten Daten.

    Ich programmiere seit 2014 für die Gallery RSGallery2 mit PHP Storm und passe sie gerade für J4 an (Jug Stuttgart Robert Mittl sagt die wird nie fertig ;-) )

    Sorry für die fehlende Information:


    * Single step im ? installerAdapter.php ? brachte mich immer zur Zeile der Exception.

    * Wenn die Komponente installiert war, also beim Update funktionierte es wie gewünscht. DH. die Klassen konnten mit Use ... eingebunden werden.


    Ich probiere jetzt relative Pfade für require once am Anfang der Datei und teile das Ergebnis mit.

    In meiner Komponente möchte ich im Installations-Skript Hilfsklassen laden die auch sonst benutzt werden.


    Im preflight sind noch keine Dateien übertragen.

    Bei Install, update, und postflight sind sie kopiert.


    Ich versuche in install oder update eine externe Klasse zu laden und zu benutzen.


    Require once findet die Datei aber die Klasse kann nicht mit new ... instanziert werden

    Use ... geht auch nicht mit new ...


    Gibt es da Einschränkungen oder muss ich meinen Code verbessern ?

    Oder gibt es Beispiele anderer Komponenten

    Zeilen die nicht funktionieren werden bei mir auskommentiert damit ich noch weiß was ich schon getestet habe


    folgendes funktioniert leider nicht

    use Joomla\Plugin\Content\Remote_markdown\Parsedown\Parsedown;

    //use Joomla\Plugins\Content\Remote_markdown\Parsedown\Parsedown;

    //use Joomla\CMS\Plugin\Content\Remote_markdown\Parsedown\Parsedown;

    //use Parsedown\Parsedown;


    Siehe branch b_test_namespace. Im master habe ich es hingeschummelt um etwas lauffähiges zu haben (Klasse hinten angehägt


    Info: Der Branch kann installiert werden. Im Artikel folgende Zeile eintragen. Dann soll im Ergebnis die Fehlermeldung erscheinen. Ziel: Text mit Bildern ;-)

    {remotemarkdown:https://raw.githubusercontent.…/Maint.SlideshowConfig.md}

    plg_remote_markdown

    Das Plugin zeigt Markdown Text definiert über URL Link in einem Artikel an.


    Repository:

    https://github.com/ThomasFinnern/plg_remote_markdown

    branch b_test_namespace


    Ich möchte die Parsedown Klasse aus einer Datei im Unterverzeichnis mit new Parsedown einer Variablen zuweisen.


    Struktur:

    .../joomla4x/plugins/content/remote_markdown/remote_markdown.php

    .../joomla4x/plugins/content/remote_markdown/Parsedown/Parsedown.php


    Im Plugin remote_markdown.php ist folgender Namespace definiert

    use Joomla\Plugin\Content\Remote_markdown\Parsedown\Parsedown;


    Fehler:

    Class 'Joomla\Plugin\Content\Remote_markdown\Parsedown\Parsedown' not found


    Version Joomla: ‎4.0.0-beta1-dev


    Stimmt die Namensraumangabe ?

    Muss die Klasse anders importiert werden ?


    PS: Im master habe ich die Klasse in die Datei kopiert und das plugin läuft in erster Version

    Ich glaube, so alt wie die Komponente ist, hält sie sich nicht an das MVC pattern.

    Das Backend ist zu 95 % umgestellt. Das Frontend kommt demnächst


    Deine Komponente hat eine eigene Konfiguration und dort einen Button Save. Wenn du mit dem Inspector schaust, oder im Quelltext: Wie sieht der Code unter dem Button aus?

    Ich nutze die Gallery selbst und habe Tausende von Bildern und die Struktur macht es schwer umzusteigen. Es gibt einige aktive Benutzer und sehr viele nicht mehr gepflegte Seiten mit der RSGallery2.

    Wie sieht der Code unter dem Button aus

    Siehe Code Oben

    Ich möchte wenn möglich das Standardverhalten der Komponenten Konfiguration benutzen. Bislang wurden die Konfigurationsparameter in einer eigenen SQL Tabelle gespeichert. (Die Komponente RSGallery2 stammt aus den 2005er Jahren) Jetzt ziehen die Parameter um und ich weiss nicht ob eine Stelle gibt (oder Event) wo ich manche Parameter ändern kann bevor sie gespeichert werden oder nachdem sie geladen werden.

    Die zu verwendeten exifTags sind eine dynamische Liste vom User auszuwählen


    Altes Model Config:


    Config lesen

    Code
    //------------------------------------------
    // special variables exifTags ...
    //------------------------------------------
    if (isset ($data['exifTags'])){   
        $data['exifTags'] = explode('|', $data['exifTags']);
    }


    sichern

    Code
    if ($row->name == 'exifTags' && is_array($row->value)){   
        $row->value = implode('|', $row->value);
    }
    $row->check();
    $row->store();




    In der Komponente wurden die Konfiguration in einer eignen Tabelle gespeichert. Nun bewege ich die Werte zum Standard Platz für J3.x d.h. über die config.xml ... Bislang enthält die "Exif" variable ein array das mit "|" beim speichern verbunden (implode) und beim laden entsprechend wider aufgeteilt wird (explode).


    An welcher Stelle der Standard save / load Funktion der Komponenten Konfiguration kann ich diesen Code einbauen.

    Wie kann eine Seite der Joomla Dokumentation zur Änderung aufgefordert werden.
    Ich habe folgende Seite entdeckt und denke dass hier noch Informationen fehlen.
    https://docs.joomla.org/JSON_Responses_with_JResponseJson


    Ich habe mir im Joomla! Documentation ein Konto eingerichtet aber nun finde ich
    keinen weg um die Seite auf "needs editing" setzen zu können.
    Ich will die Seite nicht selbst editieren sondern nur Hinweise geben was fehlt