logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

GLightbox is a pure javascript lightbox (Colorbox alternative without jQuery)❗

It can display images, iframes, inline content and videos with optional autoplay for YouTube, Vimeo and even self-hosted videos.

Demo GLightbox Download GLightbox

滚动

Views 主题化:修改 view.tpl.php 模板(字段、行、区块、页面),并集成 jQuery 插件 EasySlider

14/10/2025, by Ivan

在本文中,我们将了解 Drupal 的查询构建器 —— 模块 Views (http://drupal.org/project/views)。Views 允许以可视化方式输出各种内容类型的字段、评论、分类术语、用户信息以及其他来自数据库的数据。该模块配备了图形化界面,可通过鼠标轻松创建数据库查询。

注意! 如果您希望在一小时内立即使用 EasySlider,我强烈建议直接使用对应模块。本文主要用于讲解 Views 模板结构及其主题化(theming)原理。稍后若要自定义 EasySlider 的外观,还需修改 CSS。

当我们配置好所需字段后,需要按照自己的要求排版。这可以通过模板文件实现。默认情况下,这些模板位于 theme 文件夹中。

使用 Sassy 模块在 Drupal 中快速集成 SCSS(SASS)

14/10/2025, by Ivan

SASS/SCSS 早已成为编写 CSS 代码的标准。如果您还没有在自己的网站中使用它,那么现在正是时候。通过 Sassy 模块可以非常快速地连接 SCSS,而且即使在共享主机(shared hosting)上也能工作,因为 CSS 文件的编译是通过 PHP 库完成的。

我们开始吧。我这里有一个带有 Zen 主题的干净 Drupal。首先需要安装 Sassy 模块:

https://www.drupal.org/project/sassy

Sassy 模块需要 Prepro 模块来编译 CSS:

https://www.drupal.org/project/prepro

还需要安装 Libraries API 模块,用于连接 Sassy 所需的库:

Emmet(原名 Zen Coding)——更快速地编写 HTML/CSS

14/10/2025, by Ivan

Emmet 是 Zen Coding 项目的改名版本。Emmet 允许通过简写快速生成 HTML 列表、带类名或 ID 的块结构。不仅如此,它还支持通过简写快速编写 CSS 属性。虽然一开始记忆这些缩写和工具看起来有些多余,但当你习惯之后,会发现没有 Emmet 写代码反而变得不方便。

Emmet(Zen Coding)的功能

在编写 HTML 时,我们经常需要写大量代码,写得越多,出错的几率(例如忘记闭合标签)也越高。这时 Emmet(Zen Coding)就能帮上忙。大多数 IDE 都内置或支持安装 Emmet 插件,只需设置一个快捷键即可生成 HTML 代码。

例如,你可以写下:

div#content>h1+p

按下 Emmet 执行快捷键后,它会转换为:

<div id="content">
  <h1></h1>
  <p></p>
</div>

如你所见,我们输入的只是类似 CSS 的选择器,而生成的却是对应结构的 HTML。

Features Drupal(Drupal 功能管理)

14/10/2025, by Ivan

Features 是一个模块,它可以将网站的功能打包在一起,并通过一次点击将其迁移到另一网站。最终会生成一个可作为模块安装的 feature(特性)。Feature 是一组实体的集合,这些实体共同构成了网站上的某个功能。

Features 模块 提供了用户界面(UI)和程序接口(API),用于将 Drupal 中的各种组件(模块、内容类型、分类词汇表、视图、菜单等)组合成一个 Feature 模块。Feature 模块与普通模块一样,包含 .info 文件,可以通过后台管理修改、启用、禁用、更新或删除。

Feature 模块可以包含的功能示例:

Drupal Features 新闻

14/10/2025, by Ivan

在本课中,我将介绍如何通过 Feature 模块 将网站中的某些功能复制到其他网站上使用。我们先从简单的例子开始,创建一个新闻流(News Feed),包括以下内容:

  • 在菜单中添加“新闻”链接,指向新闻页面;
  • 创建新闻页面;
  • 在首页添加新闻区块(block)。

这些功能足够我们了解 Features 模块的基本用法。

首先需要安装以下模块:

FeaturesViewsCTools

然后创建一个“新闻(News)”内容类型(Content Type),并添加几条该类型的节点(nodes)。

接下来我们来创建 View 页面和区块。

页面设置:

Drupal Features:更新 Feature 模块版本

14/10/2025, by Ivan

在上一节课中,我们学习了如何为 Drupal 创建 feature 模块。现在在本节课中,我们将学习如何更新这些模块,并在此过程中添加新功能。

Drupal features

我们已经有一个 feature 模块的 alpha1 版本,现在创建该模块的下一个版本 alpha2。在新闻区块(block)中,除了标题外,我们再添加发布日期和简短描述(摘要)。将 alpha1 版本的 feature 模块文件夹复制到 sites/all/modules 目录中,但不要启用它,这样我们就能重新生成该 feature。

Drupal 功能与分类法(Taxonomy)

14/10/2025, by Ivan

在前几节课中,我们已经创建了 feature 模块的 alpha1 和 alpha2 版本,现在我们将创建下一个版本 alpha3。我们将为模块添加一个包含新闻栏目和新闻标签的分类词汇表(taxonomy vocabulary)。
创建两个分类词汇表:“新闻栏目”和“标签(Tags)”。

分类词汇表

在 Drupal 7 中,系统默认已经有一个名为 Tags 的词汇表,因此我们只需再创建一个“新闻栏目”。接下来,为新闻内容类型添加标签字段。对于“新闻栏目”字段,设置为必填并限制只能从列表中选择一个术语。对于“标签”字段,建议允许多个值并启用自动补全功能,以便在输入时自动添加标签。

设置您自己的 Web 服务器

13/10/2025, by Ivan

大多数基于 Drupal 的网站都托管在 虚拟主机(shared-hosting)上,较少部分位于 虚拟服务器独立服务器 上。也许您的网站目前也托管在虚拟主机上,但由于网站规模扩大或 Drupal 网站数量增加,您决定迁移到服务器上。首先,让我们了解一下虚拟主机、虚拟服务器和独立服务器之间的区别。

APC 配置:PHP 缓存设置

12/10/2025, by Ivan

⚠️ 注意! 如果您的 PHP 版本是 5.5 或更高版本,请不要使用 APC,因为 OPCache 已取代 APC 并默认集成在 PHP 中。

2013 年 3 月 21 日,PHP 5.5 Beta 1 发布,其中包含 “Zend OPCache”。这意味着 OPCache 将正式取代 APC,成为 PHP 核心的一部分,并会随每个新版本 PHP 一同维护。

APC(Alternative PHP Cache)是 PHP 的一种字节码缓存机制。它会将编译后的 PHP 操作码(Opcode)存储在内存中。正如开发者描述的那样:“APC 是一个免费、开源且可靠的 PHP 中间代码缓存与优化系统。”