Script de Magento Shell personalizado: no se puede obtener el valor del argumento
-
29-09-2020 - |
Pregunta
Estoy intentando crear un script de shell personalizado que extraiga un archivo zip en mi media/tmp
directorio.
Creé un archivo labeler.php en el directorio del shell.se extiende Mage_Shell_Abstract
y ejecutar() se ve así:
/**
* 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();
}
}
El comando que estoy ejecutando es php -f shell/labeler.php -- unzip file.zip
.El resultado que obtengo es: Descomprimiendo 1
Solución
Por lo que sé, creo que la sintaxis correcta es la siguiente:
php -f shell/labeler.php -- --unzip file.zip
La sintaxis del script de shell en Magento es:
php -f script.php -- [options]
Donde las opciones podrían ser simplemente una bandera como esta:
php -f script.php -- test
En ese caso $this->getArg('test')
devolverá 1 (verdadero).
O podría ser un valor como este:
php -f script.php -- --test mytest
En ese caso $this->getArg('test')
devolverá 'miprueba'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange