Magento主题结构
Posted joserito666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Magento主题结构相关的知识,希望对你有一定的参考价值。
设计主题是Magento的应用程序的一个重要组成部分。本主题介绍了Magento的主题文件结构。
Magento的主题定位
店面主题是通常位于app/design/frontend//下
虽然在技术上它们可以存在于其他目录。例如Magento的内置主题可以在位于vendor/magento/theme-frontend-<theme_code>当Magento的实例从composer库部署。
每个主题都必须存储在一个单独的目录:
app/design/frontend/<Vendor>/
├── <theme1>
├── <theme2>/
├── <theme3>
├--...
(代码案例由magento技术麦进斗公司提供)
主题组件
Magento的主题目录的结构通常会像如下:
<theme_dir>/
├── <Vendor>_<Module>/
│ ├── web/
│ │ ├── css/
│ │ │ ├── source/
│ ├── layout/
│ │ ├── override/
│ ├── templates/
├── etc/
├── i18n/
├── media/
├── web/
│ ├── css/
│ │ ├── source/
│ ├── fonts/
│ ├── images/
│ ├── js/
├── composer.json
├── registration.php
├── theme.xml
(代码案例由magento技术麦进斗公司提供)
让我们在每一个特定的子目录一探究竟。
下面描述的目录和文件的结构是最延长之一。它可能与你的店的结构一致。
/<Vendor>_<Module> 自选 模块特定的风格,布局和模板。
/<Vendor>_<Module>/web/css/source 自选模块特定的样式(.css和/或.LESS文件)。通用样式模块都在module.less文件,样式部件都在widgets.less。
/<Vendor>_<Module>/layout 自选布局文件,这些文件扩展默认模块或父主题布局。
/<Vendor>_<Module>/layout/override/base 自选 布局覆盖默认模块布局
/<Vendor>_<Module>/layout/override/<parent_theme> 自选 布局重写该模块的父主题布局
/<Vendor>_<Module>/templates 自选 该目录包含覆盖此模块的默认模块模板或父主题模板主题模板。自定义模板也存储在这个目录中。
/etc/view.xml 如果存在于父主题需要一个主题,但可选 此文件包含所有店面产品图片和缩略图图像配置。
/i18n 自选 .csv文件的翻译。
/media 必需 该目录包含一个主题预览(你的主题截图)。
/web 自选 这可以直接从前端装入静态文件
/web/css/source 自选 该目录包含了援引从 Magento的UI库全局元素,并theme.less文件,覆盖默认的变量的值混入主题更少的配置文件。
/web/css/source/lib 自选 重写存储在UI库文件查看文件 lib/web/css/source/lib
/web/fonts 自选 主题字体
/web/images 自选 主题图片
/web/js 自选 主题js
/composer.json 描述了主题的依赖关系和一些元信息。将出现在这里,如果你的主题是一个composer包。
/registration.php 必须 需要在系统中注册的主题。
/theme.xml 必须 该文件是强制性的,因为它声明了一个主题为系统组件。它包含基本元信息,如主题名称和父主题名称,是主题是从现有的主题继承。该文件由Magento的系统能够识别的主题。
主题文件
除了配置文件和主题的元数据文件,所有主题文件分为以下两类:
1.静态视图文件
2.动态视图文件
静态视图文件
一组是由服务器返回到浏览器按原样不经任何处理的主题文件,被称为一个主题的静态文件。静态文件可以位于一个主题目录如下:
<theme_dir>/
├── media/
├── web
│ ├── css/ (except the "source" sub-directory)
│ ├── fonts/
│ ├── images/
│ ├── js/
(代码案例由magento技术麦进斗公司提供)
静态文件和其他主题文件之间的主要区别是,静态文件出现网页作为对文件的引用上,而其它主题文件参加页面生成,但网页作为文件上明确地被引用。这可以通过从店面的直接链接访问静态视图文件,是有区别的公共主题文件。
要对浏览器的公共静态文件发布到/pub/static/frontend////css/目录实际上访问。
以上是关于Magento主题结构的主要内容,如果未能解决你的问题,请参考以下文章