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

  1. abstract.php

  2. indexer.php

  3. compiler.php

  4. 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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow