在Magento中,布局确定将哪些内容块放在Magento框架模式(.phtml文件)中,转向符合商店的完整结构’模板。 Magento布局XML文件位于 App / Design / Frontend / your_interface / your_theme /布局/ Magento安装目录。
要弄清楚您的商店中使用哪个界面或模板 系统-> Configuration->General->Design. Current Package Name 是特定网站或商店的接口名称。在默认的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前端的搜索栏。
<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:
以下是一些可能正在使用的块:
- 核心/模板:显示Magento模板。
- 页面/ HTML.:是单独的magento页面的模板。
- 页面/ html_head.:HTML头。
- 页面/ html_header.:Magento标题。
- 页面/ template_links.:链接块’列表。您可以将其用作菜单。
- 页面/ html_breadcrumbs.:当前页面的面包屑。
- 页面/ html_footer.:页脚。
- 核心/消息:该块包含错误/成功/通知消息。
- 页面/交换机:更改商店语言或商店视图。
我们希望你’享受我们的教程。如果您想向我们展示您的结果,请在下面的评论中留下您的网站链接和简短的描述。
谢谢你读我们的博客。如果您决定从Aitoc购买Magento模块,请使用Blog15优惠券代码获得一次性15%的折扣。