1:手册优先,建议手册排导航第一位,它是初次接触drupal的人最关系的资料,手册的子菜单用drupal大版本分类 2:案例推荐把最著名的一些网站置顶增加drupal国内影响力,比如白宫、联合国、纽约市政府、哈佛大学等等 3:页面增加捐赠模块,融资用于社区发展,也可考虑有需求者捐赠后让贡献者优先满足需求,贡献者获得多种形式的奖励,纪念品、积分、现金等等 4:教程建议出现二级分类,按知识点归类不同部分,不同部分继续分类为适用于那个版本或通用,如果排序能兼顾到学习路径更佳,便于快速查找 5:下载分出二级栏目,drupal程序相关下载,电子书下载,手册下载等 6:招聘改为供求可能更合适 7:主导航的drupal8取消或调整,菜单“drupal8即将到来”尽快取消,否则造成站点久不维护的感觉,丢失大量新访客 8:论坛的“添加新的论坛主题”改用图标或大字体,提高体验 9:论坛图标使用不能让人领会意思,分不出是最终帖子还是子论坛,子论坛链接图标可使用类似文件夹图标,帖子图标可以使用标志内容是否带图,是否有下载,原创等含义的图标
- 阅读更多 关于 网站调整反馈
- 登录或注册以发表评论
插件和实体(Plugins and Entities)
我们在前面的章节中学习了Drupal 8的结构和它是如何处理网络请求的。但我们没怎么学习Drupal时如何被构建的。在我们学习具体的核心模块代码之前,有一些Drupal 8重要的新概念需要理解。这一章里我将讲述它们。
配置(Configuration)
Drupal 8中配置系统有了令人欣喜的改变。最显著的变化是配置现在存储在'/sites/{name}/files/config_{HASH}/active'目录下的许多YAML文件中。这些文件的名字定义了文件中存储了关于哪些配置。举个栗子,'node.settings.yml'文件中存储了node模块的配置,'views.view.content.yml'文件中存储了机器名为content的视图的定义。Drupal使用配置前缀(config prefixes)完成了这些。这名意思应该是这样命名文件的方式就是config prefixes。
日程分发(Routing)
我们在前面的章节中对比了Drupal 8与Symfony框架的结构。能够了解Drupal 8是如何处理请求对我们的学习是有益的。首先需要了解启动流程(bootstrapping)和总体控制流(flow of control)。然后学习事件订阅(event subscribers),事件订阅的概念对学习请求处理是非常重要的。
控制流(Flow of control)
现在让我们了解一下当一个请求被送达至Drupal 8的时候会发生什么。
1. 启动流程配置
w 读取settings.php文件,动态生成一些其它设置,然后把它们存储在全局变量和Drupal\Component\Utility\Settings对象中。
w 启动类装载器(class loader),它负责装载类。
w 设置Drupal错误句柄(error handler)。
w 检测Drupal是否安装,如果Drupal没有安装则重定向至安装脚本。
2. 创建Drupal内核
服务容器(Service Container)
第一章里,我们学习了Drupal的总体结构和它与Symfony框架的关系。Drupal 8和Symfony都由组件组成。这章里你将会学到什么是服务容器以及Drupal 8是如何使用它的。这对于学习日程分发(routing)非常重要。
Symfony使用服务容器在应用中高效地管理服务。这种方式被称为依赖注入(使用接口在服务间解除耦合)。
服务容器是一个全局对象,由核心在请求被处理前创建持有。它会在之后程序运行中使用懒惰加载的方式取得服务。服务是用来完成特定任务的全局对象,例如邮件服务器或是数据库连接器。一个服务由仅一个类实现。服务容器是非常重要的,因为它包含了可用的服务,了解服务间的关系和服务的配置,甚至于服务的结构!
依赖和实参(Dependencies and arguments)
一个服务也许会依赖其它的服务。Symfony文档用了如下例子说明,NewsletterManager服务需要Mailer服务来发送邮件。服务间的依赖关系也由服务容器管理。当创建一个服务时,它的依赖关系通过类构造函数的实参提供。接口用来定义被依赖的服务应该提供哪些方法,所以当需要时服务可以由另一个类来实现。
原文地址:https://cipix.nl/understanding-drupal-8-part-1-general-structure-framework
译者:门前小雨
《了解Drupal8》是由Terug naar在https://cipix.nl/网站发布的,共计4个部分,由门前小雨翻译为简体中文。在此对译者表示衷心感谢!
- 阅读更多 关于 了解Drupal8
- 登录或注册以发表评论
前言
原文地址https://cipix.nl/understanding-drupal-8-part-1-general-structure-framework
排版更好的WORD版本http://wenku.baidu.com/view/820e0805b8f67c1cfbd6b8d7
译者学习过面向对象和J2EE,近日喜闻Drupal倒向面向对象所以特来学习。之前只大概浏览过一本讲Drupal7的书,所以对Drupal中的名词和概念理解不深。翻译大都站在面向对象和J2EE的角度。译者了解名词一致的重要性,所以如有错误和表述不当之处请及时与译者联系,译者正是想通过交流学习进步,也免得误导他人。
灰色的不是正经的注释可以直接跳过。
下面是译者觉得在翻译过程中出现的可能有争议的词汇表
前言
打算从翻译文档入手学习Drupal8。翻译到一半,发现中的设配置文件使用的是YAML格式,所以先学习下YAML。
什么是YAML
YAML是一种用来序列化对象的标记言语格式,它可以把对象的实例用人类直接可读的文件存储起来。
举个栗子,我在程序中使用家庭类创建了一个实例,并将小明一家的数据填充其中。这里如果我想在下一次运行程序的时候不再填充一遍,就要把小明一家的实例保存下来。过去的方式是把对象直接转换为二进制编码保存,缺点是如果想在程序外对其进行修改,虽然不是不可能但明显是不划算的,这就是不可读。而使用YAML格式将对象存储,当然就是可读的,这将会在后面的YAML示例中举例说明。
YAML的优势(为什么使用YAML)
l 面向对象 Drupal8完全实现了面向对象,所以使用YAML可以更好地与面向对象相契合。尽管从我目前的学习到看来(只到路径解析)Drupal只把YAML当作配置文件用,并没有发挥它的序列化功能,不过我觉得学习到实体结构后就能了解到YAML的强之处了。
l YAML的解析速度特别快 相对XML和HTML来说。
- 阅读更多 关于 了解YAML
- 登录或注册以发表评论
下载WeebPal 的系列主题,添加默认后都会报错:Fatal error: Call to undefined function nucleus_get_predefined_param()
Drupal failing to write due to bad file path. The bad file path is temporary://fileXXXXXX
. I cannot understand why Drupal is failing to convert temporary://
to /tmp
.
报这个错误的时候 找到 配置-》文件系统-》临时目录 找到临时目录之后,更改临时目录的文件夹权限为读写 就可以了,
Drupal 8.0.6 于2016年4月6日发布了!
本次主要是众多bug修复(无安全漏洞更新)和文档、测试的改进,详情请查看Drupal 8.0.6 发布说明。
Drupal 8.0.6 是 Drupal 8 第6个补丁版本,已可以用于生产站点了。上一个 Drupal 8 版本是Drupal8.0.5 ,发布于2016年3月3日,相隔近1个月的时间的时间。这也是 8.0.x 分支既定的最后一个版本,下一个版本将是Drupal 8.1.0,并计划于2016年4月20日发布。已在使用 Drupal 8 的站点建议到时待Drupal 8.1.0发布后及时更新至最新版本,以解决很多Bug和安全漏洞的修复。Drupal 8.1.0 的rc版即将发布,敬请期待!