0

0

创建 PyroCMS 主题:分步指南

WBOY

WBOY

发布时间:2023-09-04 10:49:06

|

1074人浏览过

|

来源于php中文网

原创

与大多数内容管理系统一样,pyrocms 使用前端主题。尽管 pyrocms 主题的构建方式与您可能习惯的其他系统的主题略有不同,但它们仍然很容易创建。事实上,它们非常简单,只需很少的 php 经验即可组装它们!


文件夹结构

PyroCMS 主题由 HTML、图像、CSS 和 JavaScript 组成,排列在以下受支持的文件夹中:

  • CSS
  • 图片
  • js
  • 观看次数
  • 视图/布局
  • 视图/部分内容
  • 视图/模块

虽然这些文件夹无疑对您来说看起来很熟悉,但“views”文件夹在 MVC 上下文中最有意义。当为 PyroCMS 构建主题时,您实际上是在构建 MVC 模式应用程序的视图(包括资产)。这些视图由一个主布局文件和多个在不同布局之间共享表示逻辑的部分文件(即 header.htmlfooter.html)组成。我们将很快讨论这个问题。


开始使用

要开始构建您的第一个 PyroCMS 主题,请在主题可能驻留在 PyroCMS 实例中的两个位置之一创建受支持的文件夹结构:

addons/shared_addons/themes (for themes available to all sites)

或者:

addons/[site-name]/themes (for themes available to only one specific site)

创建包含受支持文件夹结构的基本主题文件夹后,您要添加到主题的第一个文件是 theme.php

addons/shared_addons/themes/[my-theme-name]/theme.php

theme.php 文件包含主题的所有重要详细信息,包括其名称、作者、版本等。在某种程度上,此文件类似于 WordPress 主题的 style.css 文件。以下是 PyroCMS 主题的 theme.php 文件的基本示例:


请注意,此文件扩展了一个 PyroCMS 类,名为 Theme。另外,由于您在此文件中声明 PHP 类,因此您需要确保在类声明中使用包含主题的文件夹的名称。因此,如果包含主题的文件夹名为“foo”,则在 theme.php 中创建的类应命名为 Theme_Foo (而不是 Theme_Custom,如 PyroCMS 文档中的示例所示)。

创建 theme.php 文件后,您可以登录 PyroCMS 控制面板并查看主题模块中列出的主题。

创建 PyroCMS 主题:分步指南


布局

PyroCMS 主题的所有布局文件都存在于以下两个位置之一:

addons/[site-ref]/themes/[my-theme-name]/views/layouts/

或者:

addons/shared_addons/themes/[my-theme-name]/views/layouts/

每个主题都应该有一个布局文件,名为“default.html”,位于上面列出的位置之一。附加布局文件是可选的;稍后我将向您展示如何添加更多布局文件。首先,检查布局文件的内容很重要。

PyroCMS 中的布局文件是使用 HTML 和标签解析器(称为 Lex 标签解析器)构建的。这是一个非常基本的 PyroCMS 布局文件的样子:




    {{ template:title }}
    {{ template:metadata }}


    

{{ template:title }}

{{ template:body }}

您在这段 HTML 中看到的特殊标签是 Lex 解析器标签。如果您曾经在 PHP 中使用过 Smarty 模板,这些模板可能看起来有些熟悉。在布局文件中使用 Lex 解析器标签的主要好处是,您不必将 PHP 直接放入视图中(请记住,我们使用的是 MVC),这为您提供了创建遵循 不要重复自己的模式。

当然,我上面给出的示例很简单,但是 Lex 解析器标签非常强大。他们可以循环数据、处理属性等等。在 PyroCMS 文档中了解有关 Lex 解析器的更多信息。

更复杂的 PyroCMS 布局文件如下所示:

MVM mall 网上购物系统
MVM mall 网上购物系统

采用 php+mysql 数据库方式运行的强大网上商店系统,执行效率高速度快,支持多语言,模板和代码分离,轻松创建属于自己的个性化用户界面 v3.5更新: 1).进一步静态化了活动商品. 2).提供了一些重要UFT-8转换文件 3).修复了除了网银在线支付其它支付显示错误的问题. 4).修改了LOGO广告管理,增加LOGO链接后主页LOGO路径错误的问题 5).修改了公告无法发布的问题,可能是打压

下载



    {{ template:title }}
    {{ template:metadata }}
    {{ theme:favicon file="favicon.png" }}
    {{ theme:css file="style.css" }}
    {{ theme:js file="site.js" }}


    

{{ template:title }}

{{ template:body }}

您会注意到这个使用 Lex 的布局文件包含 CSS、JavaScript 和图像等资源。使用 Lex 标签和 HTML 允许 PyroCMS 开发人员非常快速地构建布局文件。


部分内容

PyroCMS 中的 Partials 代表部分布局,允许您将布局分解为可重用的部分或部分。然后可以通过不同的布局文件加载这些部分。这可以防止您在多个布局文件中键入相同的代码(页眉、页脚等)。

根据您放置主题文件的位置,部分内容将在以下两个位置之一创建:

addons/[site-ref]/themes/[my-theme-name]/views/partials/

或者:

addons/shared_addons/themes/[my-theme-name]/views/partials/

使用此 Lex 标签将部分内容加载到布局中:

{{ theme:partial name="partialname" }}

此 Lex 标记的运行方式与 PHP include 语句完全相同 - 类似于您在 WordPress 或其他主题中找到的语句。下面的代码是利用部分的 PyroCMS 布局的简单示例。

{{ theme:partial name="header" }}

    

{{ template:title }}

{{ template:body }}
{{ theme:partial name="footer" }}

header.html 部分和 footer.html 文件的内容当然是我们需要从上面的代码示例中的模板中重用的 HTML。一个快速提示:在一种布局中可以使用的分部数量没有限制。此外,部分文件可能包含有效 HTML 和 Lex 的任意组合。


多个布局文件

要向 PyroCMS 实例添加另一个布局,请在主题的 views/layouts/ 目录中再创建一个布局文件。该文件可以使用任何名称,但最好尽可能具有描述性地命名 - 例如 about.html

为了增加灵活性,您可以使用任意数量的布局文件。当您在 PyroCMS 控制面板(控制面板→页面→页面类型)中编辑或创建页面类型并从下拉列表中选择所需文件时,您的所有布局主题的布局文件将可供使用。

创建 PyroCMS 主题:分步指南


移动布局

PyroCMS 能够轻松显示移动设备和桌面设备的单独布局。要使用此功能,请将布局文件移动到 views 文件夹中名为“web”的文件夹中,以便您的默认布局位于此处:

[your-theme]/views/web/layouts/default.html

当用户使用桌面浏览器访问您的网站时,将使用此位置的主要布局文件。如果用户使用移动设备浏览器访问您的网站,则会向用户提供您在此位置创建的移动布局:

[your-theme]/views/mobile/layouts/default.html

此功能适用于多个布局文件。

请注意 PyroCMS 文档中的警告:“PyroCMS 不认为 iPad 是移动设备,因此如果用户使用 iPad 访问您的网站,它不会加载您的移动布局。”但是,如果在您的网站上,您希望将 iPad 识别为移动设备,则可以更改 config/ 目录中的“user_agent.php”文件,以使 iPad 识别为移动设备。移动设备。


完成!

使用本文作为指南,您可以看到在 PyroCMS 中创建主题是多么容易。提供的代码示例非常简单,因此我鼓励您探索 PyroCMS 文档,以便对 PyroCMS 中的布局、移动布局、部分和 Lex 解析器有更丰富的经验。玩得开心!

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

1695

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1119

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1024

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

948

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1396

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1228

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1438

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1302

2023.11.13

笔记本电脑卡反应很慢处理方法汇总
笔记本电脑卡反应很慢处理方法汇总

本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

1

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号