Benutzerdefiniertes Magento-Shell-Skript – Argumentwert kann nicht abgerufen werden
-
29-09-2020 - |
Frage
Ich versuche, ein benutzerdefiniertes Shell-Skript zu erstellen, das eine ZIP-Datei in mein entpackt media/tmp
Verzeichnis.
Ich habe eine labeler.php-Datei im Shell-Verzeichnis erstellt.Es erstreckt sich Mage_Shell_Abstract
und run() sieht so aus:
/**
* Run script
*
*/
public function run()
{
$_SESSION = array();
if ($this->getArg('unzip')) {
$zipFile = strval($this->getArg('unzip'));
echo "Unzipping {$zipFile}";
}elseif ($this->getArg('pendingList')) {
echo "this\n";
} else {
echo $this->usageHelp();
}
}
Der Befehl, den ich ausführe, ist php -f shell/labeler.php -- unzip file.zip
.Die Ausgabe, die ich bekomme, ist: Entpacken 1
Lösung
Soweit ich weiß, ist meiner Meinung nach die richtige Syntax die folgende:
php -f shell/labeler.php -- --unzip file.zip
Die Syntax für Shell-Skripte in Magento lautet:
php -f script.php -- [options]
Wobei Optionen nur eine Flagge wie diese sein könnten:
php -f script.php -- test
In diesem Fall $this->getArg('test')
gibt 1 (wahr) zurück.
Oder es könnte ein Wert wie dieser sein:
php -f script.php -- --test mytest
In diesem Fall $this->getArg('test')
wird „mytest“ zurückgeben
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange