現在どのタイプのレイアウト/ページが現在マゼンタでロードされているかチェックする必要があります。マジェンタではどのようにレイアウトの種類を見つけるのですか?
1桁または2桁の左または2桁の右または3桁を意味します。私はプログラム的に検索する必要がある
...
は私が行うことができますどのように、私はGoogleで検索しかし、誰の助けがあります。現在どのタイプのレイアウト/ページが現在マゼンタでロードされているかチェックする必要があります。マジェンタではどのようにレイアウトの種類を見つけるのですか?
1桁または2桁の左または2桁の右または3桁を意味します。私はプログラム的に検索する必要がある
...
は私が行うことができますどのように、私はGoogleで検索しかし、誰の助けがあります。何をしようとしていますか?レンダリングコンテキストとのプログラムによる結合は、より良いアプローチが利用可能であることを示している可能性があります。それは言った:あなたはルートブロックがインスタンス化された場合、レイアウトオブジェクトを聞いて、そうであれば、そのテンプレートのプロパティが何であるかをすることができます
:
$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.
}
}
/app/design/frontend/default/- your theme -/layoutフォルダのXMLファイルを確認してください。それらには、使用されるテンプレートファイルへの参照が含まれています。
など。 page.xmlには以下が含まれます。
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
...ほとんどのページで使用されるテンプレートを定義します。
幸運を祈る!
申し訳ありませんが、私はプログラム的に検索する必要があります。 –
div.pageの最初の子をチェックすると、現在のテンプレートの列の数を知ることができます。
html body div.wrapper div.page div.main-container.col1-layout
私はこの同じ問題をしばらく前に持ち、 'Mage :: app() - > getLayout() - > getBlock( 'root') - > getTemplate()'も私のためのトリックでした! – seanbreeden
ベンに感謝...私はあなたのために多くの答えを得た... –