Neden / base / default / layout ve / default / default layout var? Bu kafa karıştırıcı ve gereksiz görünüyor.
Neden / base / default / layout ve / default / default layout var? Bu kafa karıştırıcı ve gereksiz görünüyor.
Yanıtlar:
Kısacası default/default
, orijinal taban paketinin olduğu 1.4CE'den eski. Magento çekirdek temaları hala varsayılan pakette gönderilir - bu yüzden eski olduğu kadar itiraz edilmez .
CE yükseltmeleri sırasında varsayılan / varsayılanın üzerine yazılabileceğinden, dosyaları buraya yerleştirmeniz önerilmez - ancak <1.3 ile geriye dönük olarak uyumlu olmaya çalışan eklentiler, temel / varsayılan yerine buraya kasıtlı olarak yerleştirilebilir.
Kaynak: http://www.magentocommerce.com/knowledge-base/entry/magentos-theme-hierarchy#3.2
default
çok yararlı bir hata ayıklama aracı olduğu en azından birkaç kez hatırlayabilirim .
Resmi Magento wiki'sinde daha iyi bir cevap buldum . (2012'den beri, bu yüzden herhangi bir bilginin güncel olup olmadığından emin değilim - ancak söyleyebileceğim 1.8.1 için geçerli görünüyor.) Tam olarak okumanızı şiddetle tavsiye ediyorum (kalın tıklayın bağlantı), aşağıda özetleyeyim.
Ne /base
hakkında?
/base/default
tüm uygulama-mantık tipi ön uç işlevlerini hiçbir zaman düzenlememeniz gereken tek bir kod tabanında birleştirmek için CE 1.4 ve EE 1.8'de tanıtıldı. Varsayılan temalı bir tasarım paketi ile aynı dizin yapısına sahiptir , ancak bazı önemli CSS dosyalarını eksik olduğundan, tek tasarım paketiniz ve temanız olarak sahip olmanızı önermezler.
Büyük bir benzetme olduğunu söylemek olurdu /base
olmaktır /design/frontend
Ne /core
etmektir /code
. İçinizdeki dosyaları değiştirmeniz gerekmez /base
. Bunun yerine, işlevselliğini kendi özel tasarım paketinizde genişletmeniz gerekiyor , Magento geri dönmeden önce ilkinin içine bakacak - önce içeri /base/default
bakacak /design/frontend/{custompackagename}/{customthemename}
, sonra geri düşecek /design/frontend/{custompackagename}/default/
ve son olarak geri düşecek /design/frontend/base/default
.
Gerçekten, tıpkı düşünülmelidir /base
- /default
alt dizin sadece orada Magento'nın yedek sistem her yolculuğuna tamamlar çünkü tasarım paketinde onun içinde /default
tema . Açıkça söylemek gerekirse, bir tasarım paketi bir alt dizindir /design/frontend
ve tema bir tasarım paketi içindeki bir alt dizindir. Magento bir tasarım paketine baktığında, /base
ya da olsun /{custompackagename}
, /default
tema her zaman Magento'nun bakacağı son yer olacaktır.
Bu nedenle, asıl amacı /base
geri dönüş sisteminde son nokta olarak hizmet etmek olduğundan, bu amaca göre asla başka bir temaya sahip olmayacaktır /base/default
.
Neden /default
o zaman var?
Öyleyse neden hala bir var /design/frontend/default/default
? Ve neden bir yok /design/adminhtml/base/default
? Dürüst olmak gerekirse, ikinci sorunun cevabını bilmiyorum. Ama önce cevaplamaya çalışayım.
Eski uyumluluğu vb. Unutmak yerine bunun yerine çağrılıp çağrılmadığını anlamak çok daha kolay olabilir . Bu nedenle bu tartışmanın amaçları doğrultusunda "genel tasarım paketi" ni ifade edeceğim ve toplu olarak anlatacağım . Dedikleri sanki ben bu dizinlerin içindeki her şeye atıfta olacak ve . Magento'nun geri dönüş sistemi artık geri düşmediği için , "varsayılan" olarak adlandırılmaya devam etmenin kafa karıştırıcı olduğunu hissediyorum, çünkü bu kelime bir şeyin geri dönüş zincirinin bir parçası olduğunu ima ediyor , ancak genel tasarım paketi artık tanıtımı itibariyle yedek zincirin bir parçası/generic/default
/default/default
/app/design/frontend/default/
/app/skin/frontend/default/
/app/design/frontend/generic
/app/skin/frontend/generic
/app/design/frontend/default/
/base
. Bu nedenle, "varsayılan tasarım paketi" yerine "genel tasarım paketi" olarak adlandırmak, bu karışıklığı hafifletir ve bize evet olduğunu söyleyerek, bunun sadece geri dönüş zincirinin bir parçası olduğunu ima etmeden Magento ile birlikte gelen genel temalar kümesidir. : D
O andan Taşıma: jenerik tasarım paketi içinde bir varsayılan tema ve birkaç varsayılan olmayan temalar vardır: /blank
, /iphone
, ve /modern
. Varsayılan olmayan bir tema etkinse, dosyaları varsayılan temada herhangi bir şeyi geçersiz kılar, ancak hangi varsayılan olmayan tema etkin olursa olsun, genel paketin varsayılan temasının varsayılan olmayan tema tarafından geçersiz kılınmamış kısımları hala koşmaya devam ederler ve daha sonra içindeki her şeyi geçersiz kılarlar /base/default
. Sonunda geçersiz kılınan tüm bölümleri /base/default
çalıştırın.
Bununla birlikte, özel bir tasarım paketi kullanıyorsanız , genel tasarım paketinin hiçbir bölümü çalışmayacaktır . Yedek sistemi düz gider {customdesignpackage}/{customthemename}
etmek {customdesignpackage}/default
için base/default
. (Bunu doğru anlamadığım sürece; yanılıyorsam lütfen beni düzeltin.)
Bununla birlikte, genel tasarım paketinin yerinde özel bir tasarım paketi olmadan tamamen silinmesi, genel tasarım paketinin hala gerekli olan bazı cilt öğelerine sahip olması nedeniyle akıllıca olmaz.