Как «Добавить изменение дизайна» с помощью сценария оболочки magento?
-
13-12-2019 - |
Вопрос
Я хочу добавить новую тему с помощью сценария оболочки Magento.Я думаю, что это возможно при прямом доступе к таблице MySQL design_change.Но я не знаю, как это сделать.Есть идеи?
Решение
Сначала вам нужно создать тему в уровень файла
Затем используйте приведенный ниже запрос для применения темы в вашем магазине.
Вставьте в 'Design_change' ('Design_change_id', 'store_id', 'Design', 'date_from', 'date_to') values ('', 'store_id', 'packageName/themeName', 'start_date', 'end_date');
- design_change_id должно быть пустым, поскольку это первичный ключ.
- store_id Это идентификатор магазина вашего магазина, где вы хотите применить тему.
- имя пакета это пакет темы, который находится по адресу
app/design/{area}/{packageName}
. Имя темы это название темы, которое будет указывать на местоположениеapp/design/{area}/{packageName}/{ThemeName}
.Магенто кожа расположение папки должно бытьskin/{area}/{packageName}/{ThemeName}
. - Дата, с это дата начала применения темы
- date_to дата окончания применения темы
Скрипт оболочки:
Если вы хотите сделать это с помощью PHP-скрипта оболочки, попробуйте следующий код:
<?PHP
require_once "YOUR_MAGENTO_DIR/app/Mage.php";
umask(0);
Mage::app('admin');
$design = Mage::getModel('core/design');
$design->setData('store_id','STORE_ID');
$design->setData('design','packageName/ThemeName');
$design->setData('date_from','YYYY-MM_DD');
$design->setData('date_to','YYYY-MM_DD');
try {
$design->save();
echo 'The design change has been saved.';
} catch (Exception $e){
$e->getMessage();
}
Другие советы
Если с помощью сценария оболочки вы имеете в виду, средство для того, чтобы сделать такое через оболочку с загрузочным Magento, а не просто сырой скриптом Bash или таким образом.
Ознакомьтесь с:
Это те же сценарии, которые могут быть выполнены через php -f shell/file.php -- somearguments
Использование SQL Amit должна работать или вы можете использовать рамки с упомянутой оболочкой.