/ base / default /レイアウトと/ default / defaultレイアウトがあるのはなぜですか?


10

/ base / default /レイアウトと/ default / defaultレイアウトがあるのはなぜですか?これは紛らわしく冗長です。

回答:


7

つまりdefault/default、オリジナルのベースパッケージであった1.4CE未満のレガシーです。Magentoのコアテーマは引き続きデフォルトパッケージで出荷されます。そのため、レガシーであるため必ずしも非推奨になるわけではありません。

CEのアップグレード中にdefault / defaultが上書きされる可能性があるため、ここにファイルを配置することはお勧めできません。


出典:http : //www.magentocommerce.com/knowledge-base/entry/magentos-theme-hierarchy#3.2


/ design / frontend / defaultディレクトリを完全に削除しても、すべてが完全に機能しますか?つまり、/ base / defaultのみを使用することになります。大丈夫ですか?また、なぜ/ design / adminhtmlまたは/ design / install内に/ base / defaultがないのですか?
CommaToast 14

それは確かに可能です。EEはdefault / defaultテーマなしで出荷されます。
philwinkle 2014

1
default / *は、それらのパッケージが使用するパッケージであると指定しない限り使用されません。必要に応じてディレクトリを安全に削除できますが、アップグレードまたはインストール中にディレクトリが復元される場合があることに注意してください。
philwinkle 2014

1
テンプレートヒントを有効にして、疑わしい場合は、ブロックが/ default / defaultを使用しているかどうかを確認できます。
Amasty 2014

1
私は、デザイン/パッケージを切り替えることができることdefaultが非常に便利なデバッグツールであった少なくとも数回を思い出すことができます。
pspahn 14

5

公式のMagento wikiでさらに良い答えを見つけまし。(それは2012年のものなので、古くなっている情報があるかどうかはわかりませんが、私が知ることができることから1.8.1に当てはまるようです。)完全に読むことを強くお勧めします(太字をクリックリンク)、以下にまとめます。

/baseすべては何ですか?

/base/defaultはCE 1.4およびEE 1.8で導入され、すべてのapp-logicタイプのフロントエンド機能を、編集してはならない単一のコードベースに統合しました。デフォルトのテーマのデザインパッケージと同じディレクトリ構造ですが、主要なCSSファイルが不足しているため、唯一のデザインパッケージとテーマにすることは推奨されていません。

大きな類似点/baseは、それが/design/frontend何であるかということ/coreです/code。内部のファイルを変更することは想定されていません/base。代わりに、独自のカスタムデザインパッケージでその機能を拡張することになっています。Magentoは、フォールバックする前に最初に内部を調べます。最初に/base/default調べてから/design/frontend/{custompackagename}/{customthemename}、次にフォールバックし /design/frontend/{custompackagename}/default/、最後にフォールバックし/design/frontend/base/defaultます。

本当に、それは同じように考えるべきである/base- /defaultMagentoのフォールバックシステムは、各を通じて旅を完了するためのサブディレクトリにのみ存在している設計パッケージの中/default のテーマ。明確にするために、デザインパッケージは内のサブディレクトリで/design/frontendあり、テーマはデザインパッケージ内のサブディレクトリです。Magentoのは、デザイン・パッケージを介して検索する場合、それはだかどう/base/{custompackagename}/defaultテーマは常にMagentoのが見えるだろう最後の場所となります。

したがって、の主な目的は/baseフォールバックシステムの最後のポイントとして機能することなので、その目的によれば、以外のテーマは決してありません/base/default

なぜそこにいるの/default

それで、なぜまだあるの/design/frontend/default/defaultですか?そして、なぜそこにないの/design/adminhtml/base/defaultですか?正直なところ、2番目の質問に対する答えはわかりません。しかし、最初に答えてみましょう。

等のレガシー互換性を忘れて、私はあるかもしれないと感じずっとそれが呼び出された場合は理解しやすい/generic/defaultの代わりに/default/default。したがって、この議論の目的のために私はを参照する/app/design/frontend/default/と、/app/skin/frontend/default/総称して「一般的な設計パッケージ」として。彼らが呼ばれたかのように、私はそれらのディレクトリ内のすべてのものを参照することになります/app/design/frontend/generic/app/skin/frontend/generic。(フロントエンドの場合は少なくとも)Magentoのフォールバックシステムはにフォールバックしなくなったため/app/design/frontend/default/、「デフォルト」と呼び続けると混乱を招くように思われます。これは、その単語が何かがフォールバックチェーンの一部であることを示唆しているためですが、一般的なデザインパッケージはもはやありません。導入時のフォールバックチェーンの一部/base。したがって、「デフォルトのデザインパッケージ」ではなく「ジェネリックデザインパッケージ」と呼ぶことで、「はい、それはMagentoに無料で付属しているジェネリックテーマのセットであり、フォールバックチェーンの一部ではない」と伝えることで、この混乱を緩和します。:D

その後、上のキャリング:一般的なデザインのパッケージには、内部のデフォルトのテーマといくつかの非デフォルトのテーマを持っています/blank/iphone/modern。デフォルト以外のテーマがアクティブである場合、そのファイルはデフォルトテーマのすべてをオーバーライドしますが、デフォルト以外のテーマがアクティブであっても、デフォルト以外のテーマによってオーバーライドされていないジェネリックパッケージのデフォルトテーマの部分それでも実行され、さらにそれらはのすべてをオーバーライドします/base/default。最後に、オーバーライドされていない/base/defaultget runの部分。

ただし、重要なことに、カスタムデザインパッケージを使用している場合、ジェネリックデザインパッケージのどの部分も実行されません。フォールバックシステムは、ストレートから行く{customdesignpackage}/{customthemename}まで{customdesignpackage}/defaultbase/default。(私がこれを正しく理解していない場合を除きます。間違っている場合は訂正してください。)

とは言え、カスタムデザインパッケージを配置せずにジェネリックデザインパッケージを完全に削除することは、ジェネリックデザインパッケージにまだ必要なスキン要素がいくつかあるため、賢明ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.