Por que existe um layout / base / padrão / e um layout / padrão / padrão? Isso parece confuso e redundante.
10
Em suma, default/default
é um legado de <1.4CE, onde era o pacote base original. Os temas principais do Magento ainda são enviados no pacote padrão - portanto, não é necessariamente obsoleto , mas é legado.
Como padrão / padrão pode ser substituído durante as atualizações do CE, não é aconselhável colocar arquivos aqui - mas os plug-ins que tentam ser compatíveis com versões anteriores a <1.3 podem intencionalmente colocar arquivos aqui em vez de base / padrão.
Fonte: http://www.magentocommerce.com/knowledge-base/entry/magentos-theme-hierarchy#3.2
default
era uma ferramenta de depuração muito útil.Encontrei uma resposta ainda melhor no wiki oficial do Magento . (É de 2012, então não tenho certeza se alguma das informações está desatualizada - mas parece ser aplicável à 1.8.1 do que posso dizer.) Embora eu recomendo que você a leia na íntegra (clique no negrito link), deixe-me resumir abaixo.
O que é isso
/base
tudo?/base/default
foi introduzido no CE 1.4 e no EE 1.8 para consolidar toda a funcionalidade de front-end do tipo lógica de aplicativo em uma única base de código que você nunca deve editar. Ele tem a mesma estrutura de diretórios que um pacote de design com um tema padrão , mas faltam alguns arquivos CSS principais para que eles não recomendem que você o tenha como seu único pacote e tema de design.Uma grande analogia seria dizer que
/base
é o/design/frontend
que/core
é necessário/code
. Você não deve modificar os arquivos dentro/base
. Em vez disso, você deve estender sua funcionalidade em seu próprio pacote de design personalizado , no qual o Magento examinará primeiro antes de voltar a funcionar/base/default
- primeiro ele irá procurar/design/frontend/{custompackagename}/{customthemename}
, depois voltará a funcionar/design/frontend/{custompackagename}/default/
e, por fim, voltará a funcionar/design/frontend/base/default
.Realmente, deve-se pensar apenas como
/base
- o/default
subdiretório está lá apenas porque o sistema Magento fallback completa sua jornada através de cada pacote de design em seu/default
tema . Para ser claro, um pacote de design é um subdiretório dentro/design/frontend
e theme é um subdiretório dentro de um pacote de design. Quando o Magento olha através de um pacote de design, seja ele/base
ou não/{custompackagename}
, o/default
tema sempre será o último local em que o Magento ficará.Portanto, como o objetivo principal de
/base
é servir como ponto final no sistema de fallback, de acordo com esse objetivo, ele nunca terá outro tema senão/base/default
.Por que existe um
/default
então?Então, por que ainda existe um
/design/frontend/default/default
? E por que não existe um/design/adminhtml/base/default
? Para ser sincero, não sei a resposta para a segunda pergunta. Mas deixe-me tentar responder à primeira.Esquecendo a compatibilidade de legado etc., acho que seria muito mais fácil entender se fosse chamado em
/generic/default
vez de/default/default
. Portanto, para os fins desta discussão, vou me referir/app/design/frontend/default/
e/app/skin/frontend/default/
coletivamente como o "pacote de design genérico". Vou me referir a tudo dentro desses diretórios como se fossem chamados/app/design/frontend/generic
e/app/skin/frontend/generic
. Como (pelo menos no caso do front-end) o sistema de fallback do Magento não volta mais/app/design/frontend/default/
, sinto que continuar chamando-o de "padrão" é confuso, pois essa palavra implica que algo faz parte da cadeia de fallback , mas o pacote de design genérico não é mais parte da cadeia de fallback a partir da introdução de/base
. Portanto, chamá-lo de "pacote de design genérico" em vez de "pacote de design padrão" alivia essa confusão ao nos dizer que sim, é apenas o conjunto de temas genéricos que acompanham o Magento gratuitamente, sem implicar que faz parte da cadeia de fallback. : DContinuando então: o pacote de design genérico tem um tema padrão e vários temas não padrão interior:
/blank
,/iphone
, e/modern
. Se um tema não padrão estiver ativo, seus arquivos substituirão qualquer coisa no tema padrão, mas não importa qual tema não padrão esteja ativo, qualquer parte do tema padrão do pacote genérico que não tenha sido substituída pelo tema não padrão ainda serão executados e, além disso, eles substituirão qualquer coisa/base/default
. Finalmente, qualquer parte não substituída da/base/default
execução é executada.No entanto, criticamente, nenhuma parte do pacote de design genérico será executada se você estiver usando um pacote de design personalizado. O sistema de fallback vai direto de
{customdesignpackage}/{customthemename}
para{customdesignpackage}/default
parabase/default
. (A menos que não esteja entendendo isso corretamente; corrija-me se estiver errado.)Dito isto, excluir o pacote de design genérico completamente sem ter um pacote de design personalizado no lugar seria imprudente, pois o pacote de design genérico possui alguns elementos de capa que ainda são necessários.
fonte