8

我是 magento 学习的新手。有人可以指导我如何将产品视图页面更改为 1 列布局。我正在使用 magento 默认主题。

谢谢

4

6 回答 6

26

要将产品视图页面更改为 1 列布局,您需要打开

应用程序/设计/前端/默认/默认/布局/catalog.xml

达到以下代码:

<catalog_product_view translate="label">
    <label>Catalog Product View (Any)</label>
    <!-- Mage_Catalog -->
    <reference name="root">
        <action method="setTemplate"><template>page/2columns-right.phtml</template>
        </action>
    </reference>

在这里您可以将 2columns-right.phtml 更改为 1column.phtml。

我们也可以使用local.xml(更好的方式),需要添加以下代码 -

<catalog_product_view>
    <reference name="root">
        <action method="setTemplate"><template>page/1column.phtml</template></action>
    </reference>
</catalog_product_view>

希望它会有所帮助。

谢谢!

于 2012-08-30T06:36:40.587 回答
10

我不会推荐任何这些答案!

您的 magento 将因任何更新而中断!

当您需要更新任何 xml 布局时,唯一好的答案是编辑位于 app/design/frontend/youtheme/default/layout 中的文件 local.xml

只需添加

<catalog_product_view translate="label">
    <label>Catalog Product View (Any)</label>
    <!-- Mage_Catalog -->
    <reference name="root">
        <action method="setTemplate"><template>page/2columns-left.phtml</template>
        </action>
    </reference>
</catalog_product_view>

你就完成了......简单而干净。

于 2014-03-24T13:57:45.577 回答
10

以上所有答案都不是 Magento 方式。

在主题的 local.xml 文件中添加:

<catalog_product_view>
    <reference name="root">
        <action method="setTemplate"><template>page/1column.phtml</template></action>
    </reference>
</catalog_product_view>
于 2014-04-13T12:25:36.357 回答
6

如果需要,一种更简单的方法是将产品的自定义布局设置为 1 列

脚步:

  1. 转到管理->目录->管理产品

  2. 选择所有产品并从网格右上角的操作下拉列表中选择更新属性,然后单击提交。

  3. 现在搜索页面布局下拉菜单并设置所需的布局(1列)

如果您需要为每个产品执行此操作,那么在内部一次更新所有产品只需要编辑每个产品,并在“设计”选项卡中将“页面布局”设置为所需的任何内容。

就是这样

希望这可以帮助!!

于 2012-08-30T18:49:49.967 回答
2
public function indexAction(){

    //Get current layout state 
    $this->loadLayout();

    $this->getLayout()->getBlock('root')->setTemplate('page/1column.phtml');

    $block = $this->getLayout()->createBlock(
        'Mage_Core_Block_Template',
        'thecardshop_customisecard_viewer',
        array('template' => 'customisecard/viewer.phtml')
    );

    $this->getLayout()->getBlock('content')->insert($block);

    $this->renderLayout();
}
于 2013-05-09T07:53:03.673 回答
2

最简单快速的方法是

UPDATE `catalog_product_entity_varchar` SET `value` = 'one_column'
WHERE `value` = 'two_columns_left'
于 2013-10-21T06:51:16.900 回答