Pergunta

Eu estava pensando que tal comando era o mesmo que definir o URL base do painel de administração do Magento, de Configuração / Loja / Web / URLs base, mas depois de algumas tentativas parece que não é a mesma coisa.

Quando eu configurei o URL base campo do painel de administração do Magento, ele escreve esta linha dentro do core_config_data mesa, com scope = default:

| scope   | path                   | value                 |
-----------------------------------------------------------|
| default | web/unsecure/base_url  | <base-url-value>      |

Quando eu configurei o base-url com a CLI:

magento setup:store-config:set --base-url "<new-value>"

ele exclui a linha anterior e adiciona outra linha, com scope = websites

| scope    | path                   | value                 |
------------------------------------------------------------|
| websites | web/unsecure/base_url  | <new-value>           |

Agora, se eu voltar ao painel de administração, não vejo o novo valor, mas vejo um valor padrão {{base_url}} dentro do URL base campo.

Finalmente se eu definir novamente o valor do Painel de Administração do Magento e salvá-lo, ele cria outra linha dentro da tabela com scope = default.E a partir de agora eu poderia ter duas linhas com duas linhas diferentes base-url dentro do banco de dados (e estou um pouco preocupado com isso).

Desde que definiu o errado base-url poderia tornar o site indisponível, gostaria de ter as coisas claras em mente.

Qual é a diferença entre esses dois métodos e qual é a maneira correta de definir o base-url para um e-commerce Magento simples com apenas uma loja?

Posso imaginar que tenha algo a ver com configurações de várias lojas, mas ainda não entendo como.

Além disso, não há uma linha de comando para definir o base-url com scope = default (como eu estava configurando no painel de administração)?


O Documentação do Magento não me ajuda muito:

--base-url

URL base a ser usada para acessar seu administrador Magento e sua loja em qualquer um dos seguintes formatos:

  • http[s]://[host ou ip]/[seu diretório de instalação do Magento]/.Observação:O esquema (http:// ou https://) e um trailing slash são ambos necessários.[seu directório de instalação do Magento] é o caminho docroot-relative no qual instalar o software Magento.Dependendo de como configurar o seu servidor web e hosts virtuais, o O caminho pode ser magento2 ou pode estar em branco.Para aceder ao Magento em localhost, pode utilizar qualquer http://127.0.0.1/[seu Instalar o Magento dir]/ ou http://127.0.0.1/[seu Diretório de instalação do Magento].

  • {{base_url}} que representa um URL base definido por uma configuração de host virtual ou por um ambiente de virtualização como o Docker.Por exemplo, se configurar um host virtual para Magento com o nome de host magento.example.com, voc pode instalar o software Magento com --base-url={{base_url}} e aceder ao Magento Admin com uma URL como http://magento.example.com/admin.

Ainda não entendi onde está a diferença com o painel de administração URL base campo.

Foi útil?

Solução

Acho que tem alguma coisa a ver com configurações de várias lojas, mas ainda não compreendo como..

Parece que você ativou a opção 'Ativar modo de armazenamento único' (Lojas / Configuração / Geral / Modo de armazenamento único / Ativar modo de armazenamento único = Sim).

Neste caso, se você definir o valor do URL base usando Magento CLI, ele será salvo com o escopo 'websites'.Se você desativar esta opção, o valor do URL base será salvo com escopo 'padrão'.

Não tenho certeza, mas parece que não há como definir o escopo quando você salva os dados de configuração usando Magento CLI.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top