magento
Shell, CLI
Recherche…
Remarques
Les bases
- Vous devez disposer d'une ligne de commande Linux ou vous connecter via SSH à votre serveur pour pouvoir utiliser des scripts shell.
- Accédez à votre
MAGENTO_ROOT/shell
- Le script peut être exécuté en tapant ie
php -f indexer.php help
Core shell méthodes par fichiers
abstract.php
indexer.php
compiler.php
log.php
Scripts PHP personnalisés
Parfois, nous devons accéder à Magento en dehors d'un navigateur Web pour omettre les temps d'exécution ou définir différentes choses qui n'affecteront pas le frontend.
Il y a 2 façons de démarrer Magento mais une seule est la méthode Magento. Lisez plus ci-dessus dans la section d'exemples.
Utiliser shell sans étendre Mage_Shell_Abstract
Amorcer Magento en appelant:
require_once 'app/Mage.php';
Mage::app();
// Your code
C'est le moyen le plus simple mais pas vraiment de Magento car nous n'utilisons pas la classe qui étend Mage_Shell_Abstract
- la classe qui, lorsqu'elle est étendue, nous fournit des outils pour analyser les arguments en ligne de commande, appelle __applyPhpVariables()
et applique les paramètres php au script shell).
Utiliser shell la manière Magento - étendre Mage_Shell_Abstract
Façon magento
Le fichier réside dans 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();
}
Réindexation à partir de CLI
Afficher le statut:
php indexer.php status
Reindex All
php indexer.php reindexall
Index spécifique Reindex
php indexer.php --reindex CODE (see list below)
Liste des codes individuels
Indice | Code |
---|---|
Attributs de produit | catalog_product_attribute |
Prix du produit | catalog_product_price |
Réécriture d'URL du catalogue | catalog_url |
Données plates du produit | catalog_product_flat |
Catégorie données plates | catalog_category_flat |
Catégorie Produits | catalogue_category_product |
Index de recherche dans le catalogue | catalogsearch_fulltext |
État des stocks | cataloginventory_stock |