it-swarm.com.de

Wie bekomme ich eine Joomla 3-Vorlage, um die Images an einem anderen Ort zu installieren?

Ich habe eine Joomla 3-Vorlage erstellt. Wenn ich die Vorlage installiere, möchte ich, dass die Vorlagen-Images automatisch im Verzeichnis joomlaroot/images Installiert werden. Der Grund, warum ich dies tun möchte, ist, dass mehrere Vorlagen die gleichen Bilder verwenden. Ich weiß, dass ich die Bilder manuell in einem beliebigen Ordner ablegen kann, aber ich würde es vorziehen, wenn ich die Vorlage automatisch installiere.

  • Ist es möglich, Vorlagen-Images automatisch in das Verzeichnis joomlaroot/images zu installieren? Wenn ja, wie kann ich das machen?
  • Wenn nein, gibt es alternative Möglichkeiten, dasselbe zu erreichen?
4
TryHarder

Grundsätzlich können Sie ein Installationsskript verwenden und die Dateien nach der Installation erstellen/kopieren. Das Problem ist, dass AFAIK-Vorlagen das Skript nicht auslösen.

Ich schlage vor, Sie erstellen ein Paket und fügen dort Ihre Vorlage ein, da das Paketinstallationsprogramm das Installationsskript aufrufen soll .

Erstellen Sie dann Ihr Postflight-Skript, indem Sie Folgendes zu Ihrer XML-Datei hinzufügen:

<scriptfile>script.php</scriptfile>

Und so etwas in der script.php Datei (nicht getestet):

<?php

defined('_JEXEC') or die('Restricted access');

class pkg_helloWorldInstallerScript {

    function install($parent) {

        jimport('joomla.filesystem.folder');
        jimport('joomla.filesystem.file');

        //change this to the name of the folder you want to create
        $newfolder = 'myfolder';

        if(JFolder::create(JUri::root() . 'images/' . $newfolder)) {        
            //duplicate the line below as many times as you want for each file you want to move
            JFile::move(JUri::root() . 'templates/TEMPLATENAME/images/image.png', JUri::root() . 'images/' . $newfolder);
        }
    }
}    
?>

Originalcode von @Lodder

3
johanpw