magento
Shell, CLI
Поиск…
замечания
основы
- Вам нужно иметь командную строку Linux или подключиться с помощью SSH к вашему серверу, чтобы использовать сценарии оболочки.
- Перейдите в свой
MAGENTO_ROOT/shell
- Скрипт можно запустить, набрав
php -f indexer.php help
Основные методы оболочки по файлам
Abstract.php
indexer.php
compiler.php
log.php
Пользовательские скрипты php shell
Иногда нам нужно получить доступ к Magento вне веб-браузера, чтобы опустить время выполнения или установить разные вещи, которые не будут влиять на интерфейс.
Существует два способа загрузки Magento, но только один способ Magento. Подробнее см. В разделе примеров.
Использование оболочки без расширения Mage_Shell_Abstract
Загрузите Magento, позвонив:
require_once 'app/Mage.php';
Mage::app();
// Your code
Это самый простой способ, но на самом деле не путь Magento, потому что мы не используем класс, который расширяет Mage_Shell_Abstract
- класс, который при расширении предоставляет нам инструменты для анализа аргументов командной строки, вызывает __applyPhpVariables()
в его конструкторе (функция анализирует файлы .htaccess и применяет настройки php к сценарию оболочки).
Использование оболочки Magento - расширение Mage_Shell_Abstract
Путь Magento
Файл находится в 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 из командной строки
Просмотр состояния:
php indexer.php status
Reindex All
php indexer.php reindexall
Индекс переиндекса
php indexer.php --reindex CODE (see list below)
Список индивидуальных кодов
Индекс | Код |
---|---|
Атрибуты продукта | catalog_product_attribute |
Цены на продукцию | catalog_product_price |
URL-адрес каталога Rewrites | catalog_url |
Плоские данные продукта | catalog_product_flat |
Категория Плоские данные | catalog_category_flat |
Продукты категории | catalog_category_product |
Индекс поиска каталога | catalogsearch_fulltext |
Состояние запасов | cataloginventory_stock |