1、OpenCart 布局(Layout)系统是如何工作的?由 opencart 2013 年 8 月 6 日 9:24 amQ:布局 Layout 系统在 1.5.x 版本中是如何工作的?能否如之前的 1.4.x 版本在所有页面显示相关模块,或者为特定的分类页面设定横幅广告 banner 模块?A:目前的布局 Layout 系统可以:1. 为所有的页面设定要显示的模块;2. 基于路径(Route),可以在不同的页面设定显示不同的模块;3. 为不同的分类页面,产品以及文章信息页面设定不同的模组(如 Banner);4. 如果你建立的是多商店模式,你可以为不同的商店设定如上三点所述。如下教程可以帮助
2、你理解此系统。 1. 概述:运作原理首先,opencart 将检查是否有为分类,产品以及文章信息页面设定的布局Layout,如果有,就应用它。如果检查结果为 false,opencart 将检查基于路由 route url 的布局是否存在。当第二次检查结果为 false,opencart 将采用 Store Layout 作为返回结果。2. 手把手教学请在你的 demo 测试环境下测试这些步骤。3. 删除 demo 布局System - Design - Layouts : 除了 Default 外,删除其它的当你将一个布局赋予一个商店,而该商店将其作为了默认基本布局,则你在删除该布局时,会报
3、如下错误: Warning: This layout cannot be deleted as it is currently assigned as the default store layout!.4. 模块管理中卸载所有模块Extensions - Modules : 卸载所有模块5. 商店布局System - Design - Layouts ( Layout 布局页面 )将 Default 重命名为 Store Default。此时查看你网站前台所有的页面,会是一列的布局,没有左右的条目。6. 转到模块管理页面Extensions - Modules ( 模块管理页面 )安装分类模
4、块使用如下设定增加模块:Layout: Store DefaultPosition: Column LeftStatus: EnabledSort Order: 1此时检查网站前台,所有页面会是两列,左列是分类模块。7. 基于路由的布局7.1 首页布局页面,使用如下设定新增布局Layout Name: HomepageStore: defaultRoute: common/home此时检查网站前台,首页会是一列,而其他页面会仍然是两列。模块配置页面,安装 Slideshow 模块, 使用如下设定新增模块:Banner: Samsung TabDimension (W x H): 980 x 2
5、80Layout: HomepagePosition: Content TopStatus: EnabledSort Order: 1检查网站前台会发现首页: 一列(Slideshow 模块),所有其它页面: 两列(带有左侧分类模块的两列)。7.2 分类页面在布局页面,使用如下设定新增布局:Layout Name: Category PageStore: defaultRoute: product/category此时检查你的网站前台,分类页面将之显示一列在模块管理部分,编辑分类模块,使用如下设定新增模块:Layout: Category PagePosition: Column LeftSt
6、atus: EnabledSort Order: 1在模块管理部分,安装 Banner 模块,使用如下设定新增模块:Banner: HP ProductsDimension (W x H): 182 x 202Layout: Category PagePosition: Column LeftStatus: EnabledSort Order: 2此时网站前台显示为首页: 带有 Slideshow 模块的一列分类页面:带有左列(Banner 和 Category 模块)的两列。所有其它页面: 带有左列(分类模块)的两列。7.3 特定页面布局现在,我们要在 Desktop 这个分类的页面添加信息
7、文章模块。Desktop 这个分类页面将包含三个模块,而其他的分类页面仍然只包含两个模块。在布局页面,使用如下设定添加新布局:Layout Name: Category Page - DesktopStore: defaultRoute: product/category ( 注意这里没错,这个路由与分类页面的路由是完全一致的)在模块管理页面,编辑分类模块,使用如下设定新增模块:Layout: Category Page - DesktopPosition: Column LeftStatus: EnabledSort Order: 1在模块管理页面,编辑 Banner 模块,使用如下设定新增
8、模块:Banner: HP ProductsDimension (W x H): 182 x 202Layout: Category Page - DesktopPosition: Column LeftStatus: EnabledSort Order: 2在模块管理页面,安装文章信息模块(Information),使用如下设定新增模块:Layout: Category Page - DesktopPosition: Column LeftStatus: EnabledSort Order: 1在分类页面. ( Catalog - Categories )编辑名称为 Desktop 的分类。
9、点击到标签页 Design, 在布局 Layout Overide 部分选择 Category Page - Desktop.此时检查网站前台首页: 一列(Slideshow 模块),分类 Page Desktop 页面: 两列(带有左侧三个模块 - Banner, Category 和 Information 模块 )。所有其他分类页面:两列(带有左侧两个模块 - Banner 和 Category 模块)。所有其它页面: 两列(带有左侧分类模块的两列)。你可以使用上述同样的办法,将不同的 banner 添加到不同的页面,不仅仅包含分类页面,也包含产品 product 和文章信息 infor
10、mation 页面。8. 参考使用如下路由Layout name = route代码: 全选Home = common/homeProduct = product/productCategory = product/categoryManufacturer = product/manufacturerInformation = information/informationContact = information/contactSitemap = information/sitemapCheckout = checkout/Account = account/Affiliate = affiliate/opencart网站管理员帖子: 403注册: 2013 年 3 月 19 日 8:00 am