How to build your own sub-theme (7.x-3.x)

The base Zen theme is designed to be easily extended by its sub-themes. You shouldn't modify any of the CSS or PHP files in the zen/ folder; but instead you should create a sub-theme of zen which is located in a folder outside of the root zen/ folder. The examples below assume zen and your sub-theme will be installed in sites/all/themes/, but any valid theme directory is acceptable (read the sites/default/default.settings.php for more info.)

IMPORTANT NOTE: In Drupal 7, the theme system caches which template files and which theme functions should be called. This means that if you add a new theme, preprocess or process function to your template.php file or add a new template (.tpl.php) file to your sub-theme, you will need to rebuild the "theme registry." See http://drupal.org/node/173880#theme-registry

Drupal 7 also stores a cache of the data in .info files. If you modify any lines in your sub-theme's .info file, you MUST refresh Drupal 7's cache by simply visiting the Appearance page at admin/appearance.

  1. Setup the location for your new sub-theme.

    Copy the STARTERKIT folder out of the zen/ folder and rename it to be your new sub-theme. IMPORTANT: The name of your sub-theme must start with an alphabetic character and can only contain lowercase letters, numbers and underscores.

    For example, copy the sites/all/themes/zen/STARTERKIT folder and rename it as sites/all/themes/foo.

    Why? Each theme should reside in its own folder. To make it easier to upgrade Zen, sub-themes should reside in a folder separate from the base theme.

  2. Setup the basic information for your sub-theme.

    In your new sub-theme folder, rename the STARTERKIT.info.txt file to include the name of your new sub-theme and remove the ".txt" extension. Then edit the .info file by editing the name and description field.

    For example, rename the foo/STARTERKIT.info file to foo/foo.info. Edit the foo.info file and change "name = Zen Sub-theme Starter Kit" to "name = Foo" and "description = Read..." to "description = A Zen sub-theme".

    Why? The .info file describes the basic things about your theme: its name, description, features, template regions, CSS files, and JavaScript files. See the Drupal 7 Theme Guide for more info

    Then, visit your site's Appearance page at admin/appearance to refresh Drupal 7's cache of .info file data.

  3. Choose your preferred page layout method or grid system.

    By default your new sub-theme is using a fixed-width layout. If you want a liquid layout for your theme, delete the unneeded layout-fixed.css and layout-fixed-rtl.css files and edit your sub-theme's .info file and replace the reference to layout-fixed.css with layout-liquid.css.

    For example, edit foo/foo.info and change this line:
    stylesheets[all][]   = css/layout-fixed.css
    to:
    stylesheets[all][]   = css/layout-liquid.css

    Why? The "stylesheets" lines in your .info file describe the media type and path to the CSS file you want to include. The format for these lines is: stylesheets[MEDIA][] = path/to/file.css

    Alternatively, if you are more familiar with a different CSS layout method, such as Blueprint or 960.gs, you can replace the "css/layout-fixed.css" line in your .info file with a line pointing at your choice of layout CSS file.

    Then, visit your site's Appearance page at admin/appearance to refresh Drupal 7's cache of .info file data.

  4. Edit your sub-theme to use the proper function names.

    Edit the template.php and theme-settings.php files in your sub-theme's folder; replace ALL occurrences of "STARTERKIT" with the name of your sub-theme.

    For example, edit foo/template.php and foo/theme-settings.php and replace every occurrence of "STARTERKIT" with "foo".

    It is recommended to use a text editing application with search and "replace all" functionality.

  5. Set your website's default theme.

    Log in as an administrator on your Drupal site, go to the Appearance page at admin/appearance and click the "Enable and set default" link next to your new sub-theme.

    Optional steps:

  6. Modify the markup in Zen core's template files.

    If you decide you want to modify any of the .tpl.php template files in the zen folder, copy them to your sub-theme's folder before making any changes. And then rebuild the theme registry.

    For example, copy zen/templates/page.tpl.php to foo/templates/page.tpl.php.

  7. Modify the markup in Drupal's search form.

    Copy the search-block-form.tpl.php template file from the modules/search/ folder and place it in your sub-theme's template folder. And then rebuild the theme registry.

    You can find a full list of Drupal templates that you can override in the templates/README.txt file or http://drupal.org/node/190815

    Why? In Drupal 7 theming, if you want to modify a template included by a module, you should copy the template file from the module's directory to your sub-theme's template directory and then rebuild the theme registry. See the Drupal 7 Theme Guide for more info.

  8. Further extend your sub-theme.

    Discover further ways to extend your sub-theme by reading Zen's documentation and Drupal 7's Theme Guide.

Build Your Own X: 通过实践深入理解技术的开源项目 Build Your Own X 是一个开源项目,收集了一系列精心编写的、分步骤的指南,让开发者能够重现现代技术的核心功能。无论你是想构建一个 3D 渲染器,还是想了解区块链的工作原理,或者甚至想创建自己的编程语言,这个项目都能为你提供指导。项目的核心理念是"通过构建来学习"。通过亲手重现各种技术,开发者不仅能获得实践经验,还能深入理解这些技术的内部工作机制。这种学习方式特别适合那些希望超越表面知识,真正掌握技术本质的人。Build Your Own X 为热爱学习和挑战自我的开发者提供了一个绝佳的平台。 阅读详情

相关推荐

build-your-own-x-chinese:build-your-own-x-中文

[TOC] build your own x 项目中文翻译 为什么有这个项目? 偶然发现一个很酷的项目: 以前阅读过一本书,叫 buid your own angularjs,受益匪浅。 对于那些喜欢研究轮子的,这个系列简直太棒! 因为本人目前是一名前端,所以先从前端框架入手。 gitbook 线上地址: 前端框架 未分类

【开源项目】Build your own X 构建自己的项目

可以看到包含了非常多的技术,包括3D渲染器,增强现实,区块链,加密货币,命令行工具,数据库,Docker,Git,虚拟机,游戏,操作系统,物理引擎,搜索引擎,Shell,文本编辑器,Web浏览器,Web服务器等等。通过学习这个项目帮助我们更好地理解很多软件和系统的工作原理,深入了解所涉及的技术,从而提高我们的各种工作技能和相关知识,进而更好地应用它们。可以看到一个如何构建自己的数据库的教学指南,这份教学非常的详细,这可以帮助我们更好地理解这个项目的实现细节和背后的原理。

5656

【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践

(应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。

百态·数智思维 | 聚焦大数据、量化与未来AI 1244

2025-02-13 Github 热点项目 build-your-own-x 从零开始构建:深入编程实践指南

build-your-own-x 能让你通过从零开始重写自己喜欢的技术来掌握编程,这种学习方式太有成就感了!就像自己动手组装一台电脑,每一步都清清楚楚,你不仅能深入理解技术原理,还能在过程中发现自己的不足,然后针对性地提升。而且,这个项目的资源超丰富,涵盖了各种热门技术,不管你是什么水平的程序员,都能在这里找到适合自己的项目来练手。

opentrending的博客 4794

MACS2软件进行Peak calling

MACS2可以检出ChIP-Seq,ATAC-seq 以及 MeRIP-seq (RNA甲基化测序) 等富集的序列。peaks calling 有不同的方法,MACS2是最常用的call peaks工具。 MACS全称Model-based Analysis of ChIP-Seq,最初的设计是用来鉴定转录因子的结合位点,但是它也可以用于其他类型的富集方式测序。usage: macs2 [-h] [--version] {callpeak,bdgpeakcall,bdgbroadca

qq_27390023的博客 3789

中文顶刊《会计研究》文本分析技术最新进展总结盘点

会计研究》是由中华人民共和国财政部主管、中国会计学会主办的国家一级学术期刊,为会计领域中文顶级期刊。随着大数据技术的日益成熟, 社交网络类文本 、上市公司披露类文本、媒体报道类文本、 其他类文本 、网络搜索数据、P2P 网络借贷文 本与分析师报告等文本数据逐渐成为财务会计的研究素材。

qq_52891550的博客 2891

【亲测免费】 构建你自己的技术世界:开源项目“Build your own X”深度解析

构建你自己的技术世界:开源项目“Build your own X”深度解析 项目介绍 “Build your own X”是一个开源项目,旨在通过一系列精心编写的、逐步指南,帮助开发者从零开始重新创造他们喜爱的技术。这个项目不仅仅是一个教程集合,它是一个实践的平台,让开发者通过亲手实现各种复杂的技术,从而深入理解其背后的原理和机制。正如著名物理学家理查德·费曼所说:“我不能创造的东西,我就不理解。...

gitblog_00974的博客 1610

matplotlib三维画图之观察博弈论混合策略下纳什均衡点

参考链接: 博弈论入门20讲之第16讲-猜谜游戏-散户如何赢庄家 游戏背景: 我的期望是: 你的期望是: 使用Python的matplotlib画图: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.linspace(0, 1, 100) Y = np.linspace(0, 1,

敲代码的小风 1258

开源项目:build-your-own-x 从零实现系统的工程师进阶指南

GitHub开源项目build-your-own-x提供了一个独特的学习路径,通过"自己动手实现"的方式深入理解系统原理。该项目包含数据库、操作系统、编译器、Web服务器等实现教程,帮助工程师跨越从"会用"到"会造"的鸿沟。项目按系统类型分类,每个模块都包含原理讲解、最小实现和优化方向。推荐从Web Server、Redis等入手,逐步挑战Database、Compiler等复杂系统。该项目特别适合中高级工程师和架构师,通过实际造轮子来提升对系统本

木头 2877

黑猫带你学Nand第8篇:NandFlash的供电情况详解

是指在任何工作条件下,设备允许的最大电压、电流、功率以及温度等参数的界限值。

黑猫奥利奥的博客 1148

提交 ieee 手稿出现:Do not include the Reviewer PDF with my submission 怎么办

IEEE投稿Reviewer PDF选项说明 投稿时出现的"Do not include the Reviewer PDF with my submission"选项控制是否附带评审专用PDF文件。Reviewer PDF是系统自动生成包含所有投稿材料的完整PDF,用于同行评审。建议保持默认不勾选状态,除非确认编辑部不需要该文件,否则可能影响审稿流程。勾选表示不附带此PDF,不勾选则会正常生成并提交该评审文件。

ZhangJiqun&191cm&85kg 2202

build-your-own-x 实践指南:从零重造常用技术工具弄懂原理

build-your-own-x 是一份“从零重造”类教程的精选合集,收录了数百篇手把手重建数据库、编译器、操作系统等常见技术的分步指南,适合想弄懂工具背后实现原理的开发者使用。 ## 项目简介 这个项目不是一个可直接运行的代码库,而是一份经过筛选的教程索引。每一条都指向社区作者写好的动手教程,主题从百来行的 Web 服务器到完整的操作系统内核都有,语言覆盖 C、Go、Python、Rust、

gitblog_01122的博客 735

基于半经验模型的熔断器燃弧过程计算与分析

本文针对1200V/1250A熔断器建立电弧燃烧半经验模型,通过ANSYS计算弧前时间,结合熔体烧蚀、石英砂烧蚀等物理过程简化建模。模型引入电导率随温度变化函数,利用Matlab拟合实验数据确定参数。分析表明:熔体宽度和节距增加会提高弧压峰值并缩短过零时间;总长固定时,断口数和节距影响较小。弧压峰值需控制在额定电压3倍内,过零时间需满足安全裕度。通过Python代码复现了电弧电导率模型、能量平衡方程及弧压计算,验证了熔体结构尺寸对电弧特性的影响规律。

huanghm88的专栏 259

Build Your Own X 从零构建指南:30+ 个方向,亲手重写你每天在用的技术

面试被问"数据库索引为什么常用 B+ 树",你答了个大概,细节却说不清。用过,不等于写过。Build Your Own X 解决的就是这个问题:它把"从零构建一个技术"的分步教程收进一个仓库,覆盖 30 多个方向,让你亲手把天天在用的东西再写一遍。 ## 仓库里有什么:一份 30+ 方向的教程目录 它不是单个教程,而是一个精选索引——一份 [README.md](https://link.gi

gitblog_00910的博客 1068

在 Eclipse 中接入 DeepSeek:开启 Java 开发新效率

DeepSeek 能够根据自然语言描述,精准生成高质量的 Java 代码片段。无论是简单的方法编写,比如 “编写一个 Java 方法,用于计算两个整数的乘积”,还是复杂的类和功能模块创建,例如 “创建一个 Java 类,实现文件的读写操作,并包含异常处理机制”,它都能快速给出合理且可运行的代码示例。DeepSeek 生成的代码不仅实现了基本功能,还遵循 Java 的编码规范,添加了必要的注释,让代码更易于理解和维护,大大节省了开发者从头编写代码的时间和精力。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4068

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

build-your-own-x 从零实现指南:5 步手写你的第一个技术组件

build-your-own-x 是一个"从零重建经典技术"的源码级教程合集:数据库、编译器、操作系统、Git、Web 服务器、神经网络……每个主题都配一份分步教程,让你亲手把轮子造一遍。它不教你调 API,而是教你回答"这东西里面到底怎么转"。 ## 它解决什么问题 大多数文档告诉你"怎么用",很少告诉你"为什么这么用"。你在项目里写过 SQL、调过 socket,但一旦面试官问起"数据库的

gitblog_00067的博客 766

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

build-your-own-x:从零复刻自己的技术栈完整指南(30 个领域教程清单)

build-your-own-x 是一个面向开发者的"复刻教程"索引:它把 389 篇分步指南按领域归档,教你亲手造出数据库、Web 服务器、编译器、操作系统等平时只拿来用的东西。本文不按技术门类平铺这些教程,而是按"你最终能做出什么"拆成入门、进阶、挑战三条路径,并给出 3 步最小上手方法,帮你在一小时内选定第一篇跟写。 ## 30 个领域、389 篇教程、30 多种语言:它值不值得投入时间

gitblog_00838的博客 987

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Build Your Own X 完整指南:从零构建数据库、操作系统与编译器

Build Your Own X 是一个免费、精选的"从零构建"教程合集,覆盖数据库、操作系统、编译器、神经网络、区块链等 30 多个技术领域。跟着分步教程亲手把每天在用的工具重新实现一遍,原理就会长进脑子里。 ## 按 30 多个技术领域组织的教程库 项目理念来自费曼的名言:我无法创造的,就不是真正理解的。仓库主体是一份超大型教程索引,按 30 多个类别组织:3D 渲染器、AI 模型、Bit

gitblog_00329的博客 876

如何用 build-your-own-x 快速从零实现数据库、编译器与操作系统:一份面向新手的完整实践指南

想搞懂一个技术,最快的办法是亲手把它造一遍。build-your-own-x 就是为这件事准备的「从零构建」教程合集:数据库、Git、操作系统、编译器,全都有分步教程。适合想跳出"只会调 API"的开发者与新手。 ## 初见:这个「从零构建」合集好在哪 先说结论:它不教某个框架怎么用,而是让你把"听说过"变成"做出来过"。仓库里引用过费曼的那句话——我不能创造的,我都不理解,这 29 个方向就

gitblog_00091的博客 434

从零开始构建技术工具:build-your-own-x终极实践指南

你是否曾经面对这样的困境:每天都在使用各种开发工具,却对其内部原理一无所知?想要深入理解技术本质,却苦于找不到合适的学习路径?这个开源项目正是为你量身打造的技术学习宝库,通过亲手实践教程让你真正掌握核心技术。 ## 开发者痛点:为什么我们需要亲手构建技术工具 在当今快速发展的技术领域,很多开发者陷入了"只会用不会造"的困境。我们使用数据库却不知道其存储机制,操作Git却不理解其版本控制原理,部

gitblog_00422的博客 278

3步跑通 Build Your Own X:从零构建 Web 服务器与数据库的手把手册

面试里你被问"从请求进数据库到存下一行数据,中间发生了什么",可能只能答出 API 层面的调用。Build Your Own X 围绕"从零构建"整理的教程索引,不收教你使用技术的资料,而是收集上百篇带你亲手复刻技术底层实现的教程,让你把原理写进自己的代码里。 ## 核心能力拆解 ### 按技术领域划分的教程索引 仓库主体就是 README.md,内容是一张"目录 + 教程链接":数据库、W

gitblog_00928的博客 533

从零构建你的第一个技术项目:Build Your Own 系列完整指南

你有没有好奇过数据库到底怎么存数据,编译器怎么把代码变成程序?Build Your Own X 汇集了 30 多个"从零实现"的分步教程,让你亲手重建熟悉的技术,把原理变成自己的东西。🔧 ## 你能亲手构建什么 仓库把所有教程按技术方向归类,你按关键词就能找到赛道。三个方向最值得下手: - **系统底层**:操作系统、Shell、网络栈、处理器 - **应用开发**:数据库、Web 服务器

gitblog_00967的博客 421

自己动手写一遍:用build-your-own-x把黑盒变白盒

很多开发者学了大量理论,却难以独立构建一个完整的系统。这背后是从“消费知识”到“生产知识”的转变问题。工程能力的提升,必须依靠亲手实现来驱动。build-your-own-x正是这样一套方法论:它将Redis、Git等成熟系统拆解为可独立实现的核心模块,用最小化、可验证、白盒化的方式,让学习者从使用者视角切换为实现者视角。通过动手实现一个支持SET/GET/DEL的迷你Redis,理解TCP服务、RESP协议和并发模型;通过解析Git对象格式,掌握内容寻址与对象存储。这种项目制学习不仅填补了常规学习路径的空

weixin_34280237的博客 333

Build your own x:从零造一遍,才是真学会

《Build your own x:从零造一遍才是真学会》介绍了GitHub上一个52万Star的热门仓库,它汇集了各类「从零实现技术项目」的优质教程。该仓库按技术领域分类,涵盖数据库、AI、操作系统等30多个方向,提供不同编程语言的实践指南,旨在通过动手构建帮助开发者深入理解技术原理。文章指出,这类教程能有效弥补文档与源码之间的学习鸿沟,尤其适合学生、工程师和面试者。仓库自2016年持续维护,由社区共同筛选内容,解决了开发者寻找可靠实践资源的需求。

mofushan681的博客 264

从零构建技术栈:30+实战项目带你深入理解核心技术原理

你是否曾对现代技术栈感到好奇,想知道它们是如何从零开始构建的?build-your-own-x项目正是为那些渴望深入理解技术底层原理的开发者准备的终极学习资源库。这个开源项目汇集了从3D渲染器到区块链、从数据库到操作系统的详细构建指南,让你能够亲手打造属于自己的技术栈,真正掌握技术的本质。 ## 🎯 为什么需要从零开始构建技术? 在快速发展的技术世界中,我们常常成为各种框架和工具的使用者,却

gitblog_00605的博客 317

kraken-cli行情命令速查清单:ticker、订单簿、K线、价差一条命令全搞定

**kraken-cli** 是一个专为 Kraken 交易所打造的 AI 原生交易命令行工具,内置 ticker 行情、orderbook 订单簿、ohlc K线、spreads 价差等 **6 条核心行情命令**。最大亮点:所有行情命令都是**公开接口**,无需 API Key,装好就能查币价、看深度、拉K线,一条命令搞定。 ## 📥 快速上手:零密钥安装 kraken-cli krak

gitblog_01096的博客 153
上一篇: PHP开源CMS-Drupal做视频站点(第1版)
下一篇: Drupal配置Send mail(drupal发送邮件)
xinlanzero
博客等级 码龄25年 10粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值