Zoeken…


Opmerkingen

Basics

  • U moet een Linux-opdrachtregel hebben of verbinding maken via SSH met uw server om shellscripts te kunnen gebruiken.
  • Ga naar je MAGENTO_ROOT/shell
  • Script kan worden uitgevoerd door ie in te typen
php -f indexer.php help

Core shell-methoden per bestand

  1. abstract.php

  2. indexer.php

  3. compiler.php

  4. log.php

Aangepaste php shell-scripts

Soms moeten we toegang krijgen tot Magento buiten een webbrowser om uitvoeringstijden te omzeilen of verschillende dingen in te stellen die geen invloed hebben op de frontend.

Er zijn 2 manieren om Magento op te starten, maar slechts één is de Magento-manier. Lees meer hierboven in voorbeelden sectie.

Shell gebruiken zonder Mage_Shell_Abstract uit te breiden

Bootstrapping Magento door te bellen:

require_once 'app/Mage.php';
Mage::app();
// Your code

Dit is de eenvoudigste manier, maar niet echt de Magento-manier, omdat we geen klasse gebruiken die Mage_Shell_Abstract - de klasse die ons, wanneer deze wordt uitgebreid, tools biedt om opdrachtregelargumenten te parseren, roept __applyPhpVariables() in de constructor (functie parseert .htaccess-bestanden) en past php-instellingen toe op shellscript).

Gebruik shell op de Magento-manier - verleng Mage_Shell_Abstract

Magento manier

Bestand bevindt zich in 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 uitvoeren vanuit CLI

Bekijk status:

php indexer.php status

Alles opnieuw indexeren

php indexer.php reindexall

Reindex Specifieke Index

php indexer.php --reindex CODE (see list below)

Lijst met individuele codes

Inhoudsopgave Code
Productkenmerken catalog_product_attribute
Product prijzen catalog_product_price
Catalogus-URL herschrijft catalog_url
Productflatgegevens catalog_product_flat
Categorie platte gegevens catalog_category_flat
Categorie producten catalog_category_product
Catalogus zoekindex catalogsearch_fulltext
Voorraadstatus cataloginventory_stock


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow