Como 'Adicionar alteração de design' com script de shell magento?
-
13-12-2019 - |
Pergunta
Quero adicionar um novo tema com script de shell magento.Eu acho que é possível com acesso direto à tabela 'design_change' do MySQL.Mas não sei como fazer isso.Alguma ideia?
Solução
Primeiro você precisa criar um tema em nível de arquivo
Em seguida, use a consulta abaixo para aplicar o tema em sua loja
INSERIR EM 'design_change' ('design_change_id', 'store_id', 'design', 'date_from', 'date_to') VALORES ('', 'STORE_ID', 'nome_do_pacote/nome_do-tema', 'Starting_date', 'END_Date');
- design_change_id deve estar em branco como chave primária.
- ID_da_loja é o ID da loja da sua loja, onde você deseja aplicar o tema.
- nome do pacote é o pacote do tema que está localizado em
app/design/{area}/{packageName}
. TemaNome é o nome do tema que apontará para o localapp/design/{area}/{packageName}/{ThemeName}
.Magento pele o local da pasta deve serskin/{area}/{packageName}/{ThemeName}
. - data_de é a data de início da aplicação do tema
- data para data final da aplicação do tema
Script de shell:
Se você quiser fazer isso usando o script shell php, tente o código abaixo:
<?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();
}
Outras dicas
Se por um script de shell que você quiser, um meio para fazer isso através de shell com uma inicialização amarrada magento e não apenas um script de bash cru ou tal.
Familiarize-se com:
São os mesmos scripts que podem ser executados via php -f shell/file.php -- somearguments
Usar o SQL da Amit deve funcionar ou você pode utilizar a estrutura com o resumo do shell mencionado.