magento
Shell, CLI
Buscar..
Observaciones
Lo esencial
- Necesitas tener una línea de comando de Linux o conectarte usando SSH a tu servidor para usar scripts de shell.
- Ve a tu
MAGENTO_ROOT/shell
- Script se puede ejecutar escribiendo, es decir
php -f indexer.php help
Métodos de shell del núcleo por archivos
abstract.php
indexer.php
compiler.php
log.php
Shell PHP personalizado scripts
A veces necesitamos acceder a Magento fuera de un navegador web para permitir los tiempos de ejecución o establecer diferentes cosas que no afecten la interfaz.
Hay 2 formas de iniciar Magento, pero solo una es Magento. Lea más arriba en la sección de ejemplos.
Usando shell sin extender Mage_Shell_Abstract
Bootstrapping Magento llamando:
require_once 'app/Mage.php';
Mage::app();
// Your code
Esta es la forma más sencilla pero no realmente la de Magento porque no estamos usando la clase que amplía Mage_Shell_Abstract
: la clase que, cuando se amplía, nos proporciona herramientas para analizar los argumentos de la línea de comandos, llama a __applyPhpVariables()
en su constructor (función analiza .htaccess archivos y aplica la configuración de php a shell script).
Usando shell de la manera Magento - extienda Mage_Shell_Abstract
Camino magento
El archivo reside en shell/custom.php
<?php
require_once' abstract.php';
class Stackoverflow_Shell_Custom extends Mage_Shell_Abstract
{
protected $_argname = array();
public function __construct() {
parent::__construct();
// Time limit to infinity
set_time_limit(0);
// Get command line argument named "argname"
// Accepts multiple values (comma separated)
if($this->getArg('argname')) {
$this->_argname = array_merge(
$this->_argname,
array_map(
'trim',
explode(',', $this->getArg('argname'))
)
);
}
}
// Shell script point of entry
public function run() {
}
// Usage help
public function usageHelp()
{
return <<<USAGE
Usage: php -f scriptname.php -- [options]
--argname <argvalue> Argument description
help This help
USAGE;
}
}
// Instantiate
$shell = new Stackoverflow_Shell_Custom();
// Initiate script
$shell->run();
}
Realizando Reindex de CLI
Ver el estado de:
php indexer.php status
Reindexar todo
php indexer.php reindexall
Índice específico de reindexación
php indexer.php --reindex CODE (see list below)
Lista de códigos individuales
Índice | Código |
---|---|
Atributos del producto | catalog_product_attribute |
Precios de productos | catalog_product_price |
URL de catálogo reescritas | catalog_url |
Datos planos del producto | catalog_product_flat |
Datos planos de la categoría | catalog_category_flat |
Categoría Productos | catalog_category_product |
Índice de búsqueda del catálogo | catalogsearch_fulltext |
Estado de Stock | cataloginventory_stock |