欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

宁皓网 Drupal 8:字段 有大用

介绍一下 Drupal 8 的字段,为网站创建内容类型,为内容类型添加不同的字段,
这些字段可以存储不同形式的内容。
安装
1)安装 Drupal 8 - 升级 drush
下面去安装一下 Drupal 8 ,我们可以使用在 Web 运行环境 这个课程里搭建的虚拟机环境上面去
安装 Drupal 8 .. 打开终端,Windows 可以使用 Powershell .. 在我的桌面上,有一个 web-stack ..
进入到这个目录的下面 .. 先启动一下这个项目的虚拟机 .. 输入 vagrant up .
虚拟机启动以后再连接到虚拟机 .. vagrant ssh .. 这里我要使用 drush 去安装 drupal 8 .. 先看一下 drush 的版本 .
drush --version ..
我这里是 drush 7 .. 想要兼容 drupal 8 ,需要使用 drush 8 .. 所以我们还得去升级一下 drush ..
先执行一下 composer self-update ..
这个命令可以去升级一下 composer 本身 .. 然后把我们之前安装的 drush 删除掉 ..
composer global remove drush/drush 再去更新一下 ..
composer global update .. 完成以后再用 composer 去安装一下新的 drush .
输入 composer global require  drush/drush:dev-master ..
后面的 dev-master 表示我们要安装 drush 的开发版 .. 因为 drush 8 暂时还不是稳定的版本 ..
所以这里需要指定一下 .. 现在正在开发的就是 drush 8 .. 这可能需要等一会儿,
国内的网络在下载国外资源的时候会比较慢 ... 安装完以后,再查看一下 drush 的版本 .. 输入
drush --version .. 现在的版本是 8.0 ..
我在windows上用的是 composer.bat 命令
2)安装 Drupal 8 - 准备
有了 Drush 8 我们就可以使用它去安装 Drupal 8 了。 .. 先去下载 drupal 8 .. 进入虚拟机的 /vagrant 这个目录的下面 .. 它是跟我们电脑同步的一个目录 .. 在 app 这个目录的下面是我们安装的一些东西 .. 输入 drush dl drupal-8 .. 稍等一会儿 ... 如果你发现不能下载,很可能是您连接 ftp.drupal.org 有问题 .. 一般就是 DNS 的事儿.. 查看一下 .. 这个 drupal-8.0.0-rc2 就是刚才下载的 drupal 8 .. 你在看这个视频的时候,很可能 drupal 8 的正式版已经发布了 .. 重命名一下这个目录 .. mv drupal-8.* drupal-8 .. 再配置一下 NGINX 的虚拟主机 .. 复制一个现有的配置文件 .. cp /etc/nginx/conf.d/drupal.conf /etc/nginx/conf.d/drupal-8.conf 这个 drupal.conf 配置文件是我们在搭建环境的时候创建的 .. 具体的方法您可以参考宁皓网的 Web 运行环境这个课程 ... 再去编辑一下这个新复制的配置文件 .. vi ... 修改一下它的 server_name 指令的值 .. web-stack.drupal-8.ninghao.local .. 再改一下根目录的地址 .. /vagrant/app/drupal-8 这个目录 .. 保存一下 .. 让配置生效,再重新加载一下 NGINX ..
sudo systemctl reload nginx (重启 nginx) 我们需要再修改一下自己电脑的 HOSTS 文件, 新建一个标签 .. sudo vi /etc/hosts .. 添加一条新的记录 .. 先是虚拟机的 ip 地址 .. 192.168.33.150 然后是虚拟的一个主机名 .. web-stack.drupal-8.ninghao.local ..再保存一下 回到虚拟机 .. 去给 drupal 8 创建一个数据库 .. mysql -u root -p .. 登录到 mysql 以后,再用 create database 去创建一个名字是 drupal_8 的数据库 .. 回车执行一下 .. exit 退出 ..

3)安装 Drupal 8 - 通过图形界面安装
现在我们可以在命令行下面使用 drush 去安装 drupal 8 ,也可以看一下新的 Drupal 8 的安装界面 .. 打开浏览器 .. 输入地址 http://web-stack.drupal-8.ninghao.local .. 这里显示的就是 Drupal 8 新的安装界面 ... 让我们先选择一种语言 .. 点击 Save and continue .. 安装的方式,选择 标准 .. 保存并继续 .. 这一步会检查一些东西 . 这里提示我们要去启用 PHP 的 OPcode caching .. 回到命令行 .. 先去给 PHP 安装一下这个扩展 ..
sudo yum install php56u-opcache -y .. 注意这里要安装跟你的 PHP 版本对应的扩展 .. 不确定可以先查看一下你的 PHP 版本,然后再去搜索一下要安装的这个扩展 .. 完成以后,重新加载一下 php-fpm ..
sudo systemctl reload php-fpm .. 这样 php 就可以使用这个扩展了 .. 再回到浏览器 .. 点击这里的 retry .. 这一步要去配置一下网站的数据库 .. 选择数据库的类型 .. 默认是 MySQL,MariaDB .. 输入数据库的名字 .. drupal_8 .. 再输入可以管理这个数据库的用户 .. 这里我们直接使用 root 这个用户,正式的网站,你需要单独为这个数据库指定一个用户 .. 在下面再输入密码 .. 打开 高级选项 再看一下 .. 在这里你可以指定数据库的主机 .. 因为我们的数据库跟 Web 服务器在同一台服务器上,所以可以使用这个默认的 localhost .. 如果数据库的服务器在其它的地方,在这里你可能需要使用数据库服务器的 IP 地址,或者主机名 .. 端口号默认是 3306 .. 表前缀就是在网站的所有的数据表的前面,添加一个前缀 .. 默认是不使用前缀 .. 这里我输入一个 drupal8_ .. 再点击 .. 保存并继续 .. 提示开始安装 Drupal .. 这里会显示正在安装的模块 .. 一共有多少个 .. 已经安装了多少个 ... 完成以后,会自动去更新 Drupal 的翻译 .. 这一步需要设置一下网站的相关的信息 .. 站点名字 .. ninghao .. 站点邮件 .. 117663444@qq.com .. 管理员的名字 .. wanghao .. 再设置一下密码 .. 再确认一下密码 .. 选择默认的国家 .. 找到中国 .. 默认时区 .. 选择 Asia/Shanghai .. 保存并继续 .. 最后 Drupal 会再去更新一下翻译 .. 完成以后,会自动打开网站的首页 ..
内容与字段
4)创建内容类型
我们可以根据网站里的内容,去创建一些内容类型,用它们可以去存储不同类型的内容。比如一个电影网站,可以有电影内容,还有人物内容 ... 下面我们就去创建两个内容类型。 使用管理员登录到 Drupal 以后 .. 打开结构,内容类型 .. 在这里可以管理 Drupal 网站里的所有的内容类型 .. 默认这里有两个内容类型,基本页面,还有文章 .. 点击 添加内容类型, 创建一个叫 movie 的内容类型 .. 可以使用它去管理网站上所有的跟电影相关的内容 .. 编辑一下 .. 再输入中文名 .. 电影 .. 添加一个 描述 .. 电影相关的内容 .. 再去配置一下 .. 发布选项 .. 取消 推荐到首页 .. 再打开 展示设置 .. 取消这里的显示作者还有发布日期这个选项 .. 再点一下 保存并管理字段 .. 回到内容类型 .. 这里你会看到我们刚才创建的 电影 这个内容类型 .. 下面再去添加一个内容类型 .. 添加内容类型 .. 名字是 people .. 在这里可以去存储电影相关的一些人物内容 .. 编辑 .. 输入中文名 .. 人物 .. 添加一个描述 ... 跟电影相关的人物 ... 点开 发布选项,取消 推荐到首页 .. 再打开 展示设置 .. 取消 显示作者还有日期 .. 保存并管理字段 .. 再回到 内容类型 .. 现在这里会有四个内容类型,电影 还有 人物 这两个内容类型就是我们刚刚自己创建的 ...

5)为内容类型添加字段 - 文本
我们可以给不同的内容类型去添加不同的字段,这些字段可以存储不同形式的内容。下面我们先去给 电影 这个内容类型,添加一个简单的文本字段 .. 点击 电影 这个内容类型后面的 管理字段 .. 这里会列出 电影 这个内容类型上的所有的字段 .. 默认只有一个 body,也就是存储内容的正文用的一个字段 .. 点击 添加字段 .. 选择一下要添加的字段的类型... 这里会根据字段的类型分组显示 .. 找到文字这个区域下面的 纯文本 .. 再给要添加的字段设置一个标签 .. 比如 name .. 这个字段可以存储电影的一些名字 ... 编辑 .. 再输入字段的中文标签 .. 电影名 .. 保存并继续 .. 这一步可以配置一下这个字段 .. 设置一下它的最大长度,也就是允许的字符数 .. 下面也可以设置一下字段的值的数量 .. 这里我们设置成 不限 .. 保存一下字段设置 ... 再保存一下 .. 这里会显示出刚才我们创建的新的字段,电影名 ... 下面去添加一个新的电影内容 .. 内容 .. 添加内容 .. 选择一种要添加的内容的类型 .. 这里选择 电影 ... 输入电影的标题 .. 再输入一小段介绍 ... 在下面会有一个 电影名 这个字段 .. 它就是刚才我们新给电影这种内容类型添加的一个纯文本类型的字段 .. 在这里输入一下电影的原名 ... 如果还有其它的名字,可以点击 继续添加 .. 没的话 .. 点击 保存并发布 ... 这样会打开这个内容的页面,上面会显示内容的标题,正文 .. 还有电影名这个字段里的内容 ...
6) 为内容类型添加字段 - 日期字段
Drupal 核心自带了一些不同类型的字段,刚才我们用了一下文本类型的字段,下面再去添加一个日期类型的字段 .. 可以把它放到电影内容上,存储电影的发行时间 .. 打开 电影 这个内容类型,点击 管理字段 .. 添加一个新的字段 ... 字段的类型,选择 日期 .. 再输入字段的标签 .. relase date .. 编辑一下 .. 再给它一个中文标签 .. 发行日期 ... 保存 ... 选择一下日期的类型 .. 我只希望可以存储日期,不想要具体的时间 .. 所以可以选择 仅为日期 ... 然后 保存 .. 再保存一下 ... 找到我们前面添加的一个电影内容 .. 编辑一下 .. 在这里,你会看到一个 发行日期 字段 .. 输入这部电影的发行日期 ... 再保存一下 ... 再打开这个电影内容看一下 ... 在这里会显示发行日期字段里的内容 .. 这个日期的显示格式我们也可以修改一下 .. 回到网站的管理页面 .. 点击 管理显示 .. 找到 发行日期 这个字段 .. 点击后面的 配置 按钮 .. 在这里你可以选择日期的格式 .. 我们也可以自己去定义日期的显示格式 .. 打开 配置,在地区和语言 这个区域里,找到 日期和时间格式 .. 这里显示的就是刚才我们在配置日期字段的时候看到的那个日期格式的列表 .. 有一些可以编辑 ... 也可以添加自己的日期格式 .. 点击 添加格式 .. 给它一个名字 .. Chinese short date .. 再输入格式的字符串 .. 就是用一些字母表示的日期跟时间里的不同的部分 .. 具体什么代表什么,你可以参考 PHP 的手册 .. 用一个大写的 Y 表示四位数的年份 .. 再用一个小写的 n 表示月份,它是不带 0 前缀的月份 .. 再使用一个字母 j 表示日子 ... 保存一下 .. 回到管理显示这个界面 .. 刷新一下 .. 再配置一下 发行日期 这个字段的显示 .. 修改一下日期格式 .. 找到我们刚才创建的 Chinese short date .. 更新 .. 保存 .. 再回到内容页面 .. 刷新 .. 你会看到这个发行日期字段,会按照我们自己设计的日期格式显示 ..
7) 分类与分类字段
同一种类型的内容,你可以继续使用分类再去组织一下它们。比如可以给电影这种内容,添加一个类型分类,用它表示电影的类型,剧情,喜剧,科幻,惊悚,传记,战争等等 .. 打开 结构 .. 分类 .. 这里已经有了一种分类,就是这个 标签 .. 点击 添加词汇表 .. 去添加一种新的分类 .. 名字是 genre .. 编辑 .. 再给它一个中文名 .. 类型 .. 描述 .. 电影的类型 .. 保存 .. 分类里的项目在这里叫术语 .. 你可以直接在这个地方去添加不同的项目 .. 或者也可以在创建内容的去添加这些分类 .. 点击 添加术语 .. 输入名字 .. 剧情 .. 点击 保存 .. 这样就在 类型 这个分类里添加了一个叫 剧情 的项目 .. 打开 结构 .. 内容类型 .. 在想要使用分类的内容类型上,你需要再去添加一个分类字段 .. 找到 电影 .. 管理字段 .. 添加字段 .. 这次字段的类型我们选择 参考 区域下面的 分类术语 .. 这个参考应该是个翻译错误,它的意思应该是 关联 .. 相关,或者引用 .. 输入 标签 .. genre .. 编辑 .. 中文名是 类型 .. 保存 .. 允许的值,选择 不限 .. 保存 ... 再配置一下 .. 术语表这里,选择刚才我们自己创建的 类型 .. 再勾选一下 .. 如果引用的实体不存在就去创建它 .. 保存 .. 打开 管理表单显示 .. 重新排列一下创建内容的时候,这些字段的显示 .. 标题 ... 电影名 .. 类型 .. 发布日期 .. 保存 .. 再找到之前我们创建的这个电影内容 .. 编辑一下 .. 在这里你会看到一个 类型 字段 .. 它就是一个分类字段 .. 输入分类的名字 .. 字段会自动找到相关的分类术语 .. 点击选中它 .. 继续添加 .. 输入 犯罪 .. 这个分类术语还不存在 .. 这样在保存这个内容的时候,会把 犯罪 这个分类项目保存到 类型 这个分类里 .. 保存 ... 在这个内容页面上,你会看到 类型 这个分类字段里面的内容.. 也就是我们为内容添加的两个分类 .. 点击 分类项目的名字 .. 可以打开这个分类的页面显示所有包含这个分类的电影内容 ...
8) 图像字段与图像样式
下面给电影这个内容类型添加一个图像字段,用它去上传电影的海报 .. 打开 结构 .. 内容类型 .. 找到 电影 .. 管理字段 .. 添加一个新的字段 .. 选择一下要添加的字段的类型 .. 这里选择 图像 .. 标签 输入 poster .. 编辑 .. 中文名是 海报 .. 保存 .. 再保存一下 .. 在这里可以配置一下这个图像字段 .. 比如设置允许上传的文件的扩展名 .. 文件存储的目录 .. 最大可以上传的分辨率等等 .. 这里默认勾选了 启用 Alt 字段 .. 意思就是,上传图像以后,你需要为图像指定一下替代的文字内容 .. 默认这个 Alt 字段是必填的 .. 再保存一下 .. 管理表单显示 .. 把 海报 这个字段往上放放 .. 保存 .. 找到之前添加的电影内容 .. 编辑一下 .. 这里会有一个 海报 字段 .. 点击 选择文件 .. 找到一张电影海报 .. 会自动把图像上传到服务器上 .. 完成以后,会显示一个图像的缩略图 .. 在这个替换文本里面,输入一点文字 .. 然后 保存一下 .. 再打开这个内容 .. 在这里,你会看到使用海报字段上传的这个电影海报 ... 在 Drupal 上显示的图像,我们可以去配置一些格式 ,在这些格式里面,你可以配置图像的缩放比例,可以旋转图像,裁切图像等等。打开 配置 .. 在 媒体 这个区域里,找到 图像样式 .. 这里已经有了三种样式 .. 下面我们再去针对电影海报添加两种图像样式 .. 点击 添加图像样式 .. 输入样式的名字 .. poster_small .. 编辑 .. 再设置一下中文名 .. 小号海报 .. 在下面添加一种效果 .. 选择 比例缩放并裁切 .. 宽度输入 200 ,高度是 296 .. 添加效果 ... 回到图像样式 ... 再添加一种图像样式 .. 名字是 poster_medium .. 中文名是 中号海报 .. 创建样式 .. 添加一种效果 .. 比例缩放并裁切 .. 宽度是 432 .. 高度设置成 638 .. 添加 .. 保存 .. 下面我们去使用一下新创建的图像样式 .. 回到电影内容类型的管理界面 ... 打开 管理显示 .. 找到 海报 .. 配置一下 .. 图像样式 这里,选择 中号海报 .. 更新 ... 再保存一下 .. 再回到电影内容的页面 .. 刷新一下 ... 现在,电影海报这个字段上的图像,在这里就会使用我们刚才自己创建的图像样式显示了 ...
9) 创建内容与内容之间的关系
我们可以在不同的内容之间创建一种关系,比如在电影内容上面,去关联一些跟这部电影相关的人物内容 ... 有了这种关系以后,我们就可以利用它去做一些事情 .. 比如在电影上显示关联的人物内容,在人物内容上显示跟这个人物相关的所有的电影作品。 创建内容与内容之间的关系,需要在内容类型上添加一个引用内容用的字段 .. 打开 结构 .. 内容类型 . 找到 电影 .. 管理字段 .. 添加字段 .. 选择字段的类型 .. 这里选择 内容 ... 输入字段的标签 .. star .. 编辑 .. 它的中文名字是 .. 演员 .. 引用的条目类型 选择 内容 .. 允许的值,选择 不限 .. 因为一部电影可能会有多个演员 .. 保存字段设置 .. 接着再配置一下 .. 引用类型 这里 .. 选择 人物 ... 然后保存 ... 下面再去添加一个相关内容用的字段 .. 添加字段 .. 类型是 内容 .. 输入标签 ... director .. 这个字段可以去关联电影的导演是谁 .. 编辑 .. 中文名是 导演 ... 保存 ... 允许的值设置成 不限 ... 保存 ... 引用的类型这里,同样选择人物 ... 这样在这个字段里面,我们就可以去关联人物内容了 ... 再去添加几个人物内容 .. 内容 ... 添加内容 .. 类型选择人物 ... 输入人物的名字 ... 保存 .. 再去添加几个人物内容 .. 然后找到前面我们创建的这个电影内容 .. 编辑一下 ... 找到 演员 这个字段 .. 输入想要关联的人物的名字 .. 这样会去搜索人物内容,找出相关的人物 .. 找到以后,可以点击选择这个人物 .. 继续添加 ... 再去关联两个跟这部电影相关的人物 .. 找到导演字段,关联一下这部电影的导演 ... 保存 ... 再打开这个内容 ... 在这个内容的页面上,会显示这部电影的导演 .. 还有跟这部电影相关的演员 ... 点击这些人物内容的标题,可以打开对应的人物内容的页面 ...
10) 整理字段的显示
下面我们可以去整理一下这个内容页面的显示 .. 打开 结构 .. 内容类型,找到 电影 .. 管理字段 ..打开管理显示 .. 在这里,我们可以管理内容类型的字段在不同模式下的显示 .. 这里有一个 Default ,默认 .. 还有一个樀要模式 ... 在下面这里的 自定义显示设置 这里,你可以勾选一下其它的想要使用的模式 .. 也就是你可以分别去配置字段在这些地方的显示 ... 这里我们直接修改默认这种模式下的字段的显示 .. 先去掉电影名字段的标签 .. 发行日期的标签,选择 行内 .. 海报的标签也隐藏起来 .. 再调整一下字段的显示顺序 .. 先是 海报 .. 然后是 电影名 .. 发行日期 ... ... 演员 ... 导演 ... 类型 ... 最后是这个 Body .. 保存 ... 回到电影内容的页面 ... 刷新 ... 你会看到,现在这个页面上的字段就会按照我们调整的那样显示了 ... 再回去修改一下... 这次我们去添加一种新的显示模式 .. 点开自定义显示设置 .. 勾选一下 全文 ... 保存 ... 现在这里我们对字段显示的修改只会影响到 全文 模式下的显示 ... 比如这里修改一下海报的配置 .... 选择 中号海报 .. 更新 ... 再保存一下 ... 回到内容页面 .. 刷新 ... 你会看到电影海报会使用我们设置的中号尺寸显示 ... 再点开一个分类 ... 在这个页面上显示的电影内容 ... 用的是 摘要 模式 .. 现在只会显示内容的标题还有正文 .. 我们再去配置一下 .. 打开 摘要 ... 在 已禁用 这里,找几个要显示的字段 .. 海报 .. 导演 ... 演员 .. 类型 .. 再修改一下 .. 隐藏海报字段的标签 ... 再配置一下 ... 图像样式,选择我们创建的 小号海报 这种样式 .. 导演字段的格式,选择 标签 .. 演员也是标签 .. 类型也选择标签 .. 再去配置一下这几个字段 .. 勾选一下 把标签链接至被引用的实体 ... 最后再保存一下 .. 回到内容的页面 .. 刷新 ... 这里会按照我们在电影这个内容类型里的管理显示里的 摘要 这种模式下的配置来显示 ...
来自 https://ninghao.net/video/3152

普通分类: