在Magento中,布局确定将哪些内容块放在Magento框架模式(.phtml文件)中,转向符合商店的完整结构’模板。 Magento布局XML文件位于 App / Design / Frontend / your_interface / your_theme /布局/ Magento安装目录。

要弄清楚您的商店中使用哪个界面或模板 系统-> Configuration->General->Design. Current Package Name 是特定网站或商店的接口名称。在默认的magento中,使用默认主题和接口(布局文件路径 应用/设计/前端/默认/默认/布局/)。

 默认的magento布局

Magento布局由 默认布局布局更新。

默认布局 表示包含较小单位(例如,目录搜索,购物车,RSS订阅表格)的结构单元(页眉,页眉或左列),并在主磁核模板中定义。

布局更新 为Magento中的特定视图重写标准布局,例如结帐或产品页面。

 

布局结构

布局与特定应用程序或模块相关联。创建新布局后,您应该指示哪个模块激活它。您应该将以下代码添加到您的扩展名中’s config.xml. (app / local / you_name_group / you_name_module / etc / config.xml)

 

    <frontend>

        <layout>

            <updates>

                < you_layout >

                    <file>you_layout.xml</file>

                </ you_layout >

            </updates>

        </layout>

    </frontend>

前端 表示您的布局用于Magento前端。改变它 adminhtml.,它将在后端使用。

对布局文件的要求最小:

<?xml version="1.0" encoding="UTF-8"?>

 

<layout>

 

</layout>

 

第一个标签指出 XML. 版本和布局文件编码。

布局包含块和块’ operations.  

现在让步’S查看如何使用布局并以搜索栏为例。

让’S禁用Magento前端的搜索栏。

在Magento前端禁用搜索栏 在Magento前端禁用搜索栏

<default>

        <删除name =“top.search”/>

    </default>

标签 “Remove” 删除搜索块 从显示。“姓名”指示我们删除的块。默认Magento模板中的搜索栏定义为“top.search.” in a layout system.

默认 表示我们从给定模板的任何页面中删除搜索栏。要从特定页面中删除栏,请使用其他标记。 此类标签称为描述符。描述符是在Magento中使用的引用名称,以引用特定表示。

 

现在让步’S查看如何从特定商店视图中删除搜索栏(此示例中的法语)。

    <STORE_french>

        <删除name =“top.search”/>

    </STORE_french>

描述符 Store_French. 表示该块中的所有操作仅适用于法国商店视图。要查找特定商店的代码,请访问 系统-> Configuration->Manage Stores on the back end.

如果您需要将动作应用于特定网页,请使用 module_controller_action. 描述符。看它是如何工作的,让’s从客户登录页面删除搜索栏。

    <customer_account_login.>

        <删除name =“top.search”/>

    </ customer_account_login..>

您可以使用URL获取所需网页的地址和标记名称。

特定网页布局

此规则有一些例外。例如,主页有 cms_index_index. 描述符。您可以在下面找到一些可以为您的Magento网页提供帮助的描述符:

  • catalog_category_default. -  默认前端目录页面;
  • 客户账户 – customer’s account;
  • catalog_product_view. – product page;
  • cms_page. –使用内容管理系统创建的网页;
  • checkout_cart_index. –默认结帐页面;
  • cms_index_defaultnoroute. –默认404错误页面;
  • cms_index_defaultIndex. – Magento homepage.

 

参考

“Reference” 命令适用于块,以便您可以设置必要的操作或添加子块。它被用作“姓名”属性。要适用于特定块,您应该在参考命令中指示其标题。所有块都有唯一的名称。要查看此命令如何运作,让’S更改Magento默认模板:

 

    <default>

        <参考名称=“root”>

            <动作方法=“沉淀件”><template>页面/ new_template.phtml.</template></action>

        </reference>

    </default>

 

在这里,我们将命令应用于  块并使用新的模板更改了模板。 new_template.phtml. 文件 should be stored in app/design/default/defult/template/页面/ new_template.phtml..

标签 Action 允许应用于块的任何方法。您可以看到默认方法的示例 mage_core_block_abstract. 班级 并在其祖先课堂上 -  varien_object..   参数在方法中保持相同的顺序,因为它们在XML文件中解决了它们。每个块可能有自己的方法。例如块 “head” (HTML.<head></head>)添加项目, addjs.ADDCS. methods.

        <参考名称=“头”>

            <操作方法=“AddJs”><script>aitoc / aitcg / colorset.js</script></action>

            <操作方法=“ADDCSS”><stylesheet>AitoC / AITCG / CSS / ColorSet.css</stylesheet></action>

            <操作方法=“AddItem”><type>js_css</type><name>Aitoc / AITCG / AITCG.CSS</name></action>

        </reference>

代码呼叫 addjs. 方法中的方法 “head” (参考名称=“头”) 堵塞。 This method  has  “aitoc / aitcg / colorset.js”  范围。以下是代码可以拨打的方法: addjs.(‘aitoc / aitcg / colorset.js’), ADDCS.(‘AitoC / AITCG / CSS / ColorSet.css’), 添加项目(‘js_css’, ‘Aitoc / AITCG / AITCG.CSS’)。他们都添加了新的 JS. 文件和新的样式表。和 添加项目 您可以添加任何其他样式。

一些有用的行动属性:

  • <动作方法=“沉淀件”><template>页面/ new_template.phtml.</template></action> - 标识块的新模板。
  • <操作方法=“AddLink”><name>account_edit</name><path>客户/帐户/编辑/</path><label>Account Information</label></action> - 添加一个新链接。此属性用于Magento菜单。
  • <操作方法=“setData”><key>category_id</key><value>99</value></action> - 标识特定参数(在此代码中它是 category_id..)将用于调用块。
  • <操作方法=“SetChild”><name>totals</name><block>totals</block></action> - 添加块 总计 进入应用它的子块数组。
  • <操作方法=“SetFrametags "><openTag>div</openTag></action> - 将标记帧添加到块中(此处,标签“div”)。

 

设置

使用标签执行的操作的结果“行动” 取决于您的商店’s settings (或存储视图设置)。看一下 ifconfig /除非配置 参数。第一个允许在接通特定参数时执行动作,第二允许当参数关闭时(即反之亦然)。让’c连接新的CSS 文件 (new.css.)当我们有 开发/日志/活动 switched on.

        <参考名称=“头”>

            <操作方法=“Addjs”Ifconfig =’dev/log/active’ ><script>new/ new.css</script></action>

        </reference>

 

新块

可以通过调用的标记创建新块 堵塞.

<参考名称=“内容”>

    <块类型=“核心/模板”名称=“ContactForm”模板=“联系人/ form.phtml”/>

  </reference>

 

此代码添加了名为的新块 联系表 通过借助于内容块 联系人/ form.phtml. 模板。 联系表 是一个带核心/模板的块(默认类型,显示模板,因为它没有其他动作, mage_core_block_template. 堵塞 class).

 

    <块类型=“核心/模板”名称=“ContactForm”>

                <动作方法=“沉淀件”><template>联系人/ form.phtml.</template></action>

    </block>

或者:

    <块类型=“核心/模板”名称=“ContactForm”>

                <操作方法=“setData”><key>template</key><value>contacts/form.phtml </value></action>

    </block>

这两项代码都适用相同的变化。

此代码允许将块插入到非常末端 内容 堵塞。为此块设置特定位置,使用 之前/之后。

<参考名称=“内容”>

    <块类型=“核心/模板”名称=“ContactForm”模板=“联系人/ form.phtml”之后=’-‘/>

  </reference>

 

此代码指示我们将块添加到非常开始(之前=’-‘(短跑) 表示没有前面的块,它是第一个)。如果您需要在显示特定块之后指定块,则在参数后插入块的名称 .

     <参考名称=“页脚”>
           <块类型=“CMS /模板”名称=“cms_footer_links”之后=“footer_links”模板=“联系人/ form.phtml”/>

     </reference>

此代码将新块添加到页脚下 Footer_Links. block.

静电块

在Magento中,您可以创建存储在数据库中的静态块。 您可以在Magento管理面板中创建它们: CMS->Static Blocks.

让’S创建一个用于测试和名称的新块 new_block_for_test.。.

新块创造

并将其添加到菜单栏下方的标题中。

    <default>

        <参考名称=“top.menu”>

            <block type="CMS /块" name="new_block_for_test.。" after="-">

                <操作方法=“setBlockId”><block_id>new_block_for_test</block_id></action>

            </block>

        </reference>

    </default>

这里 new_block_for_test.。 是创建的块的名称和 CMS /块 is the block’s type.

 

这是我们的’ve got:

新块创造

以下是一些可能正在使用的块:

  1. 核心/模板:显示Magento模板。
  2. 页面/ HTML.:是单独的magento页面的模板。
  3. 页面/ html_head.:HTML头。
  4. 页面/ html_header.:Magento标题。
  5. 页面/ template_links.:链接块’列表。您可以将其用作菜单。
  6. 页面/ html_breadcrumbs.:当前页面的面包屑。
  7. 页面/ html_footer.:页脚。
  8. 核心/消息:该块包含错误/成功/通知消息。
  9. 页面/交换机:更改商店语言或商店视图。

 

我们希望你’享受我们的教程。如果您想向我们展示您的结果,请在下面的评论中留下您的网站链接和简短的描述。

谢谢你读我们的博客。如果您决定从Aitoc购买Magento模块,请使用Blog15优惠券代码获得一次性15%的折扣。