Script Magento Shell personnalisé - impossible d'obtenir la valeur de l'argument
-
29-09-2020 - |
Question
J'essaie de créer un script shell personnalisé qui extraira un fichier zip dans mon media/tmp
annuaire.
J'ai créé un fichier labeler.php dans le répertoire shell.Il s'étend Mage_Shell_Abstract
et run() ressemble à ceci :
/**
* 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();
}
}
La commande que j'exécute est php -f shell/labeler.php -- unzip file.zip
.Le résultat que j'obtiens est : Décompression 1
La solution
D'après ce que je sais, je pense que la bonne syntaxe est la suivante :
php -f shell/labeler.php -- --unzip file.zip
La syntaxe du script shell dans Magento est :
php -f script.php -- [options]
Où les options pourraient être juste un indicateur comme celui-ci :
php -f script.php -- test
Dans ce cas $this->getArg('test')
renverra 1 (vrai).
Ou cela pourrait être une valeur comme celle-ci :
php -f script.php -- --test mytest
Dans ce cas $this->getArg('test')
renverra 'mytest'
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange