Willkommen, Gast
Angemeldet bleiben:

THEMA:

Eine CSS- oder PHP-Datei «installieren», geht das? 08 Okt 2022 19:30 #50381

Seit kurzem arbeite ich mit mysites.guru und verwalte damit alle meine Webseiten. Ich finde dieses Tool sehr nützlich, ja es begeistert mich fast ein wenig :-) Unter anderem hat es mir die Funktion «Remote install extension to multiple sites» angetan. Man kann damit ein beliebiges Installationspaket auf allen Webseiten installieren. Das habe ich zum Beispiel mit dem in einem anderen Thread erwähnten Plugin « github.com/joomtools/plg_system_jtaldef » so gemacht. Ok, das Plugin muss noch aktiviert werden, das kann man mit mit mysites.guru nicht. Ist aber vielleicht auch besser so, denn man sollte nach dem Aktivieren eines Plugins jede Webseite testen, ob alles richtig funktioniert.

Nun stehe ich vor der Aufgabe, eine CSS-Datei auf alle meine Webseiten hochzuladen. Und so frage ich mich, ob ich dazu ein Installationspaket erstellen könnte, welches nichts anderes tut, als eine einzige Datei an einen bestimmten Ort zu kopieren. So viel ich weiss muss das Installationspaket als ZIP-Datei gespeichert werden. Inhalt: die zu kopierende Datei und eine XML-Datei, in welcher die Information steht, wohin diese Datei zu kopieren ist. Vielleicht würde das ja auch mit einer PHP- oder einer JS-Datei funktionieren?

Ich habe so etwas noch nie gmacht und bin völlig unsicher. Wenn ich für mein Vorhaben ein bisschen Unterstützung bekommen könnte, würde mich das sehr freuen!

Gruss
Christof

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 08 Okt 2022 23:41 #50382

Du könntest eine Erweiterung vom Typ "file" erstellen:
docs.joomla.org/Extension_types_(general_definitions)#File
JoomGallery 4 befindet sich in Entwicklung. Dabei suchen wir noch Helfer, Unterstützer und Spender.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 09 Okt 2022 09:31 #50383

Dann brauchst du natürlich noch eine Manifest Datei (XML), welche die Anweisungen enthält, was zu tun ist (was wohin kopiert werden soll).
docs.joomla.org/Manifest_files
Joomla! 3: Professionelle Webentwicklung von David Jardin und Elisa Foltyn - das Standardwerk zu Joomla! 3
Wer nicht über den Anstand verfügt, ein kleines "Thänx" auszusprechen, muss sich nicht wundern, künftig ignoriert zu werden!
Kein Support via PM oder Mail. Entsprechende Anfragen werden ignoriert.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 08:09 #50384

Du könntest eine Erweiterung vom Typ "file" erstellen:
docs.joomla.org/Extension_types_(general_definitions)#File
 

Das wäre genau das was ich brauche. Aber in der Dokumentation steht lapidar

There are no examples in Joomla Core of this type

Da steh ich nun, ich armer Tor! Und bin so klug als wie zuvor!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 09:22 #50385

Dann brauchst du natürlich noch eine Manifest Datei (XML), welche die Anweisungen enthält, was zu tun ist (was wohin kopiert werden soll).
docs.joomla.org/Manifest_files

 

Ok danke Dir! Damit bin ich schon mal ein bisschen weitergekommen. Hier gibt es auch eine Beispieldatei für ein Manifest. Allerdings fehlt mir eine Erklärung zu diesem Abschnitt mit den Dateipfaden:
        <files folder="admin">
            <filename>access.xml</filename>
            <filename>banners.php</filename>
            <filename>config.xml</filename>
            <filename>controller.php</filename>
            <folder>controllers</folder>
            <folder>helpers</folder>
            <folder>models</folder>
            <folder>tables</folder>
            <folder>views</folder>
        </files>

<files folder="admin">
Warum «admin» und nicht «administrator»?
Und kann man hier nicht den ganzen Pfad eingeben, wohin die Datei soll?

<folder>xxx</folder>
Warum haben wir hier mehrere solche Zeilen? Muss der Zielpfad einzeln zusammengesetzt werden?

Wo in der ZIP-Datei speichere ich die besagte Datei?
Ich dachte, die zu kopierende CSS-Datei müsse in der ZIP-Datei im genau gleichen Pfad abgelegt sein, wie im Ziel. In meinem Fall administrator/components/com_baforms/assets/css/

So sieht meine Extension aus und funktionieren tut sie nicht:
<?xml version="1.0" encoding="utf-8"?>
<extension type="file" method="upgrade">
    <name>baforms_css_update</name>
    <author>Christof Rimle</author>
    <creationDate>2022-10-10</creationDate>
    <copyright>;(C) 2005 - 2022 Open Source Matters. All rights reserved.</copyright>
    <license>GNU General Public License version 2 or later</license>
    <authorEmail>info@rimle.ch</authorEmail>
    <authorUrl>https://rimle.ch</authorUrl>
    <version>1.0.0</version>
    <description>A small improvement has been applied to the Joomla Forms Builder Extension by Balbooa. Some css statements were added to the Baforms admin css file in order to enlarge the field edit dialogue to the max of the screen height.</description>

    <administration>
        <files folder="admin">
            <filename>ba-admin.css</filename>
            <folder>components</folder>
            <folder>com_baforms</folder>
            <folder>assets</folder>
            <folder>css</folder>
        </files>
    </administration>
</extension>

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 09:27 #50386

Die Frameworks von Akeeba sind Erweiterungen vom Typ "File". Da kann man abschauen, wie das gemacht wird:
www.akeeba.com/download.html#fof4

Dies wäre im Prinzip das Manifest-File dazu:
<?xml version="1.0" encoding="UTF-8"?>
<extension type="file" version="3.9" method="upgrade">
    <name>file_fof40</name>
    <fileset>
        <files folder="fof" target="libraries/fof40">
            <folder>Database</folder>
            <file>version.txt</file>
        </files>
    </fileset>
</extension>
JoomGallery 4 befindet sich in Entwicklung. Dabei suchen wir noch Helfer, Unterstützer und Spender.
Folgende Benutzer bedankten sich: crimle

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 09:49 #50387

Ja das geht. Hab ich mal mit dem folgenden File gemacht, Das installiert ein user.css in einem Template. Muss entsprechend angepasst werden

Dateianhang:

Dateiname: Test.zip
Dateigröße:1 KB


 
Anhänge:
Folgende Benutzer bedankten sich: crimle

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 09:50 #50388

Und habe ich glaube auch via mysites.guru installiert damals ;-)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 11:10 #50390

Nach Beseitigung von mehreren Stolpersteinen habe ich jetzt eine funktionierende Version herstellen können:
<?xml version="1.0" encoding="utf-8"?>
<extension type="file" method="upgrade">
    <name>baforms_css_update</name>
    <author>Christof Rimle</author>
    <creationDate>2022-10-10</creationDate>
    <copyright>(C) 2005 - 2022 Open Source Matters. All rights reserved.</copyright>
    <license>GNU General Public License version 2 or later</license>
    <authorEmail>info@rimle.ch</authorEmail>
    <authorUrl>https://rimle.ch</authorUrl>
    <version>1.0.0</version>
    <description>There is a small improvement that has been applied to the Joomla Forms Builder Extension by Balbooa. Some css statements were added to the Baforms admin css file in order to enlarge the field edit dialogue to the max of the screen height.</description>

    <fileset>
        <files folder="" target="administrator/components/com_baforms/assets/css">
            <file>ba-admin.css</file>
        </files>
    </fileset>
    
</extension>
Unlogisch für mich ist zum Beispiel files folder="". Aber damit funktioniert es. Beim Beispiel von Elfangor93 gibt es auch so eine rätselhafte Abweichung. Da haben wir
<files folder="fof" target="libraries/fof40">
<folder>Database</folder>
<file>version.txt</file>
Wie sieht hier der schlussendlich entstehende vollständige Pfad inkl. Dateiname aus? Zuerst «target», dann «files folder» dann «folder» und zum Schluss noch «file»???
libraries/fof40/fof/Database/version.txt
Das scheint mir ziemlich undurchsichtig...

Aber meine oben erwähnte Lösung, die mit Eurer Hilfe zustande gekommen ist, funktioniert. Besten Dank Euch!

Gruss
Christof

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Eine CSS- oder PHP-Datei «installieren», geht das? 10 Okt 2022 12:12 #50392

<files folder="fof" target="libraries/fof40"> //folder steht für das Directory im Source bzw. Zip File, target ist eigentlich klar.
<folder>Database</folder> //Das gesamte Directory wird installiert aus dem Source ins Target, einzelne <file> sind nicht nötig
<file>version.txt</file> //eine einzelne Datei

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1