Importar definições de configuração
Ao configurar um sistema de produção usando o modelo de implantação de pipeline do Commerce 2.2, você deve importar as configurações de config.php
e env.php
para o banco de dados.
Essas configurações incluem caminhos e valores de configuração, sites, lojas, visualizações de loja e temas.
Após importar sites, lojas, visualizações de loja e temas, você pode criar atributos de produto e aplicá-los a sites, lojas e visualizações de loja no sistema de produção.
bin/magento app:config:import
não processa a configuração armazenada em variáveis de ambiente.Importar comando
No sistema de produção, execute o seguinte comando para importar dados dos arquivos de configuração (config.php
e env.php
) para o banco de dados:
bin/magento app:config:import [-n, --no-interaction]
Use o sinalizador [-n, --no-interaction]
opcional para importar dados sem nenhuma interação.
Se você inserir bin/magento app:config:import
sem o sinalizador opcional, será necessário confirmar as alterações.
Por exemplo, se o arquivo de configuração contiver um novo site e um novo armazenamento, a seguinte mensagem será exibida:
These Websites will be created: New Website
These Groups will be created: New Store
Do you want to continue [yes/no]?
Para continuar a importação, insira yes
.
Se os arquivos de configuração de implantação contiverem alguns dados a serem importados, uma mensagem semelhante à seguinte será exibida:
Start import:
Some information about importing
Se os arquivos de configuração de implantação não contiverem dados a serem importados, uma mensagem semelhante à seguinte será exibida:
Start import:
Nothing to import
O que importamos
As seções a seguir discutem detalhadamente quais dados são importados.
Configuração do sistema
O Commerce usa valores diretamente na matriz system
nos arquivos config.php
ou env.php
, em vez de importá-los para o banco de dados, pois eles exigem algumas ações pré e pós-processamento.
Por exemplo, o valor do caminho de configuração web/secure/base_url
deve ser validado com modelos de back-end.
Modelos de back-end
Os modelos de back-end são o mecanismo para processar alterações na configuração do sistema.
Você define módulos de back-end em <module_name>/adminhtml/system.xml
.
Todos os modelos de back-end devem estender a classe Magento\Framework\App\Config\Value
.
Quando importamos modelos de back-end, não salvamos os valores de configuração.
Configuração de sites, lojas e grupos de lojas
Importamos os seguintes tipos de configurações.
(Essas configurações estão na matriz scopes
em config.php
.)
websites
: configuração relacionada a sitesgroups
: armazena configuração relacionadastores
: configurações relacionadas às exibições de armazenamento
As configurações anteriores podem ser importadas nos seguintes modos:
create
:config.php
contém novas entidades (websites
,groups
,stores
) que estão ausentes no ambiente de produçãoupdate
:config.php
contém entidades (websites
,groups
,stores
) diferentes do ambiente de produçãodelete
:config.php
não contém entidades (websites
,groups
,stores
) presentes no ambiente de produção
Configuração do tema
A configuração de tema inclui todos os temas registrados em seu sistema Commerce; os dados vêm diretamente da tabela de banco de dados theme
. (A configuração do tema está na matriz themes
em config.php
.)
Estrutura dos dados do tema
A chave da matriz é o caminho completo do tema: area
+ theme path
Por exemplo, frontend/Magento/luma
.frontend
é a área e Magento/luma
é o caminho do tema.
O valor da matriz são os dados sobre o tema: código, título, caminho, id principal
Exemplo completo:
'frontend/Magento/luma' =>
array (
'parent_id' => 'Magento/blank',
'theme_path' => 'Magento/luma',
'theme_title' => 'Magento Luma',
'is_featured' => '0',
'area' => 'frontend',
'type' => '0',
'code' => 'Magento/luma',
),
- Registro de tema. Se dados de um tema forem definidos em
config.php
, mas o código-fonte do tema não estiver presente no sistema de arquivos, o tema será ignorado (ou seja, não será registrado). - Remoção do tema. Se um tema não estiver presente em
config.php
, mas o código-fonte estiver presente no sistema de arquivos, o tema não será removido.