2012-03-15 4 views
1

現在どのタイプのレイアウト/ページが現在マゼンタでロードされているかチェックする必要があります。マジェンタではどのようにレイアウトの種類を見つけるのですか?

1桁または2桁の左または2桁の右または3桁を意味します。私はプログラム的に検索する必要がある

...

は私が行うことができますどのように、私はGoogleで検索しかし、誰の助けがあります。

答えて

7

何をしようとしていますか?レンダリングコンテキストとのプログラムによる結合は、より良いアプローチが利用可能であることを示している可能性があります。それは言った:あなたはルートブロックがインスタンス化された場合、レイアウトオブジェクトを聞いて、そうであれば、そのテンプレートのプロパティが何であるかをすることができます

$root = Mage::app()->getLayout()->getBlock('root'); 

if ($root) { 
    $rootTpl = $root->getTemplate(); // For core/design_package calculated 
            // absolute path use getTemplateFile(); 

    switch ($rootTpl) { 
     case 'page/1column.phtml': 
      //stuff to do 
      break; 

     //etc. 
    } 
} 
+0

私はこの同じ問題をしばらく前に持ち、 'Mage :: app() - > getLayout() - > getBlock( 'root') - > getTemplate()'も私のためのトリックでした! – seanbreeden

+0

ベンに感謝...私はあなたのために多くの答えを得た... –

0

/app/design/frontend/default/- your theme -/layoutフォルダのXMLファイルを確認してください。それらには、使用されるテンプレートファイルへの参照が含まれています。

など。 page.xmlには以下が含まれます。

<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml"> 

...ほとんどのページで使用されるテンプレートを定義します。

幸運を祈る!

+0

申し訳ありませんが、私はプログラム的に検索する必要があります。 –

0

div.pageの最初の子をチェックすると、現在のテンプレートの列の数を知ることができます。

html body div.wrapper div.page div.main-container.col1-layout