magento
Shell, CLI
Suche…
Bemerkungen
Grundlagen
- Sie müssen eine Linux-Befehlszeile haben oder sich über SSH mit Ihrem Server verbinden, um Shell-Skripts verwenden zu können.
- Gehen Sie zu Ihrer
MAGENTO_ROOT/shell
- Skript kann durch Eingabe von zB ausgeführt werden
php -f indexer.php help
Core-Shell-Methoden nach Dateien
abstract.php
indexer.php
compiler.php
log.php
Angepasste PHP-Shell-Skripte
Manchmal müssen wir außerhalb eines Webbrowsers auf Magento zugreifen, um Ausführungszeiten zu übermitteln oder andere Einstellungen vorzunehmen, die das Frontend nicht beeinflussen.
Es gibt zwei Möglichkeiten, Magento zu booten, aber nur eine davon ist Magento. Lesen Sie weiter oben in den Beispielen.
Shell ohne Erweiterung von Mage_Shell_Abstract verwenden
Bootstrapping Magento durch Aufruf von:
require_once 'app/Mage.php';
Mage::app();
// Your code
Dies ist der einfachste Weg, aber nicht wirklich der Magento-Weg, da wir keine Klasse verwenden, die Mage_Shell_Abstract
- die Klasse, die uns Werkzeuge zur Verfügung stellt, um Befehlszeilenargumente zu parsen. Sie ruft __applyPhpVariables()
in ihrem Konstruktor (Funktions-Para-Dateien) auf und wendet PHP-Einstellungen auf das Shell-Skript an.
Shell auf die Magento-Art verwenden - Mage_Shell_Abstract erweitern
Magento Weg
Die Datei befindet sich in der Datei 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();
}
Reindex von der CLI durchführen
Status anzeigen:
php indexer.php status
Alle neu indizieren
php indexer.php reindexall
Spezifischer Index neu indexieren
php indexer.php --reindex CODE (see list below)
Liste der einzelnen Codes
Index | Code |
---|---|
Produkteigenschaften | catalog_product_attribute |
Produktpreise | catalog_product_price |
Umschreiben von URLs für Kataloge | catalog_url |
Daten zum Produkt flach | catalog_product_flat |
Kategorie Flache Daten | catalog_category_flat |
Kategorie Produkte | catalog_category_product |
Katalog-Suchindex | catalogsearch_fulltext |
Lagerbestand | cataloginventory_stock |