如何在Magento2文件结构中查找后台创建内容页的对应template/phtml文件
Magento2 内容页相关两类路径定位说明
1. 内容页对应phtml模板文件的存放位置
所有CMS内容页的phtml模板遵循Magento2的标准模板加载规则,不同来源的模板存放路径如下:
- 系统核心自带的CMS模块原生模板,默认存放路径:
app/code/Magento/Cms/view/frontend/templates/
其中承担内容页渲染核心逻辑的content.phtml就位于该目录下,是所有自定义内容页默认调用的基础渲染模板 - 第三方扩展、自定义开发模块提供的专属CMS内容页模板,存放于对应模块根目录的
view/frontend/templates/cms/路径下,随模块一起加载 - 前端主题层自定义覆盖的CMS内容页模板,存放于当前激活主题的对应模块目录下:
app/design/frontend/[供应商命名]/[主题名称]/Magento_Cms/templates/
路径中必须带上对应的模块标识Magento_Cms,才会被模板加载机制识别为对原生CMS模板的覆盖
2. 后台通过Content > Pages创建的自定义内容页的系统存储位置
这类通过后台编辑创建的首页、关于页等内容,不会以静态代码文件的形式存放在项目文件目录中,原生存储逻辑分为两部分:
- 核心业务数据完全存储在数据库中:
页面基础配置(标题、URL路径、布局设置、启用状态等)存在cms_page数据表中,页面的正文HTML内容直接存储在cms_page表的content字段;页面和多店铺视图的关联匹配关系存在cms_page_store数据表中 - 前台访问后生成的渲染缓存存放于文件系统:
当用户通过前台访问对应页面时,系统会将渲染完成的静态页面缓存写入var/page_cache/、var/cache/目录下,这类缓存是序列化的结构化文件,不是可直接编辑的源内容
补充说明:只有安装了静态CMS导出、版本备份类的第三方扩展时,系统才可能将后台创建的内容导出为独立文件存放在对应扩展的自定义目录下,这不属于Magento2的原生存储机制
内容的提问来源于stack exchange,提问作者Sandeep Singh
相关产品推荐
相关产品推荐

