为drupal 8创建子主题subtheme

Submitted by Dot on Sat, 06/04/2016 - 20:45

虽然已经习惯了drupal的默认主题bartik,但还是有些看着不爽的地方,比如宽度占满屏幕,比如标签p的margin-bottom太大。

怎么办?直接修改core/themes/bartik/css/layout.css和core/themes/bartik/css/base/elements.css么?当然不,你肯定不想每次被更新覆盖后再重新修改。

两个办法:

  1. 把原主题复制一份放在themes下并重命名,自己维护代码。不推荐,因为容易乱,而且用这种方法你会错过原主题的更新;
  2. 创建子主题subtheme。这是本文要说的。

什么是子主题:

就是能继承原主题(base theme)所有属性的主题。同时,在子主题中的设置又优先于原主题。比如说,子主题css中只有一条p{color:red;},那么子主题会继承原主题所有的属性,然后把所有p标签设为红色。

那么,怎样创建一个drupal 8的子主题呢?

Could not delete temporary file "..." during garbage collection

Submitted by Dot on Thu, 06/02/2016 - 20:17

Recent log messages里总是有类似Could not delete temporary file "..." during garbage collection的报错,观察发现,每次都是5个一组,3小时一次,原来是cron时报错。

搜索了下,对应的是数据库中的表file_managed,status的两个值0和1分别代表temporary和permanent,用sql删除就OK了。

drupal搬迁遗留的一些小问题

Submitted by Dot on Sat, 05/28/2016 - 17:15

一些小问题,整理下。

1. 安装honeypot报错:Unable to install Honeypot, honeypot.settings already exists in active configuration.

这里找到了答案,直接在数据库config表中删掉honeypot.setting一行。

2. Recent log messages里很多Alert,内容是Disabled text format: filtered_html或者Disabled text format: okay。

filtered_html和okay是用drupal 7时自建的text format,后来删除了,应该是使用过这两个text format的文章和评论遗留到了drupal 8,造成报错。

关于Drupal 8搬迁的一些笔记

Submitted by Dot on Sat, 05/21/2016 - 19:22

自己的drupal 8数据库使用一段时间后会涨到100多MB,实际数据只有20MB左右,其余全是缓存表。drupal 8默认内置了10张cache为前缀的表,需要定时清理,否则会变很大。搬迁时可以删除这10张表,刷新页面会自动重建。

Drupal反垃圾模块Honeypot

Submitted by Dot on Fri, 01/24/2014 - 18:14

11月份装了CAPTCHA,使用了两个月,垃圾评论只是数量上相对减少了,但还是每天都有,效果不尽人意,而且一直觉得验证码实在是很扯淡的东西,所以决定换掉。

Drupal的anti-spam也不少,最后我选择了Honeypot,原因有三,设置简单、名字好听、以及作者的一句承诺“I pledge that Honeypot will have a full Drupal 8 release on the day that Drupal 8 is released.”

其实你根本不用作什么设置,你只需把想要验证的表格项勾选就行了,至于“Honeypot element name”和“Honeypot time limit”采用默认值就OK。