magento
Shell, CLI
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
abstract.php
indexer.php
compiler.php
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 |