Drupal8中文文档(个人学习翻译用)

我技术渣,Drupal7还没有吃透,Drupal8已经开始普及了,而从8到7的变化显然比之前6升级到7的要大很多,底层引入了很多Symfony的结构和第三方框架,而且也加入了很多对移动设备支持的功能。毫无疑问,Drupal8的学习曲线依然陡峭,不过有过7的基础我愿意继续去提高自己,随手翻译下Drupal官网文档自己存档,也希望某些东西可以帮到同样在学习的朋友,一些官方推荐的文字不再翻译,功能是否强大,功能如何,最关键的是否适合您的需求才是最重要的。

Drupal8 Paragraphs 字段的多语言配置

公司客户的 Drupal 8 网站需要改成多语言,对于没有做过 Drupal 8 项目的我而言,一开始有些不适应,在翻译 Paragraphs 模块相关的字段和 reference 的时候碰到一个问题分享一下,避免走弯路。

在 Drupal 7 中,当我们为某一个 content type 开启多语言支持后,具体到某个字段,我们只需要在它的 manage fields 中进入该字段的配置为字段启用翻译即可。

回到开始说的 Drupal 8 和 Paragraphs:

我按照 7 的流程顺利的为 content type 开启了多语言,content type 上绑定了 paragraphs entity reference revisions 的字段类型,我想为这个 reference 开启翻译,这里需要注意不要进入 paragraph entity reference revisions 的字段编辑页面去勾选 “Users may translate this field”

Git使用过程中小问题汇总

git pull origin master 时候提示: Untracked working tree file '.gitignore' would be overwritten by merge

 git reset --hard FETCH_HEAD
# reset 命令后重新尝试 git pull

git push 的时候报错:git error: failed to push some refs to

@see https://stackoverflow.com/questions/24114676/git-error-failed-to-push-some-refs-to
git pull --rebase origin master
git push origin master

Git还原一个文件到之前的版本

今天升级 Drupal 的时候发现把 .htaccess 覆盖了,而且本地也没有了这个文件之前的备份,不用担心,Git 的优势就在这里,可以还原/回退你的文件到之前的版本。

先使用 git log 命令查看这个文件之前有哪些版本:

git log <your file name>

Git 会返回这个文件之前的版本信息和当时 commit 的 message:

Ubuntu使用PPA源安装软件

今天要把 Ubuntu 上面的 PHP 版本升级,而且要求不能使用编译的方法,发现用 PPA源可以很方便的升级。

什么是 PPA?

PPA 是 Personal Package Archive 的缩写,也就是个人包档案。因为软件作者可以很轻松发布软件,所以 Ubuntu 用户使用 PPA源可以更方便的获取软件的最新版本。

怎么获取 PPA源?

Ubuntu 用户可以访问这个网站 https://launchpad.net/ ,进入后搜索需要的软件,可以得到PPA源。

如何添加 PPA?

我们以 php5 为例:

进入 https://launchpad.net/ 搜索 php5

Drupal8输出站点名称变量到Page Twig模板

Drupal8 在 page.html.twig 上输出站点名称我们可以用 template_preprocess_page() 函数把站点名称的变量先加入到 page 的 variables 中。

/**
 * 请把yourtheme替换为您的主题名称
 */
function yourtheme_preprocess_page(array &$variables) {
  // Load the site name out of configuration.
  $config = \Drupal::config('system.site');
  $variables['site_name'] = $config->get('name');
  $variables['site_slogan'] = $config->get('slogan');
}

然后我们在 page.html.twig 上输出站点名称的变量:

Nginx修复Drupal8站点Too Many Redirects的错误

今天在 Drupal8 站点上启用 Redirect 模块,想优化一下网站旧数据301重定向的问题,可是在启用后发现页面报错,页面显示 Too Many Redirects,地址栏里面域名后面也是一长排重复的 ?q=admin/config,如此看来是进入了跳转的死循环,服务器的配置知识还是偏少,查阅资料几乎全是关于 Apache 和其他模块的,尝试了用 Drush 卸载后再安装,即使 Drush 提示 Redirect 安装成功,可是进到网站页面依然是死循环。

无意之中发现这篇文章:Nginx: Fix for redirect loop on D8 sites

文章提到 Nginx 配置文件中 location @rewrite,我发现自己的确犯了同样的错误。

我沿用了 Drupal6 时一直使用的 rewrite rule:

Debian/Ubuntu下sqlite3的安装和基本命令

Debian/Ubuntu 下安装 sqlite3 的命令(确保有 root 权限):

apt-get install sqlite3

如果安装成功,就可以用以下的命令查看 sqlite3 的版本信息了:

sqlite3 -version

然后让我们了解一下 sqlite3 的基本命令。

命令行键入 sqlite3 :

如果命令前缀变成 sqlite> ,这样表示已进入 sqlite3 终端,需要注意的是除了 sql 的命令仍然以英文的分号结尾,其他 sqlite3 的命令都以英文的 . 开始,结尾不要再输入分号,例如 sqlite3 终端内查看版本情况:

sqlite> .version

查看可用的命令和帮助使用 .help:

sqlite> .help

打开数据库的命令: