你在这里

Drupal 8.x

drupal8信任主机设置

drupal 8.2.5安装后状态报告有如下错误,根据官网的设置,我修改了settings.php,修改为:$settings['trusted_host_patterns'] = array(
'^localhost$',
);

但是还是报错,错误跟之前以下都是下面这张图,表示没能解决,求解!

我使用的是CetOS7.3 LAMP环境下安装的drupal 8.2.5出现的此问题,站点位置为:/var/www/html/drupal

settings.php在drupal/sites/default/ 目录下,恳请各位前辈帮助解决!谢谢!

xuan_qu_019.png

Drupal 8中传入到twig中的user变量是在哪里设置的?

Drupal 8的Twig文件中一般会在注释中说明传入的变量,比如某个主题的field.html.twig:

drupal8如何自定义rest resource

最近在研究drupal8的restful相关,在drupal8中已经自带了restful的功能,你只需要启动这四个模块:

11.png

完成安装之后,基本的restful功能即可实现,比如我想获取node的数据,就可使用http://example.com/node/{node}?_format=hal_json来获取node的基本信息。但是某些时候drupal自带的rest resource无法满足我们,这个时候就需要我们自己来手动创建rest resource了,这里有两种方法,一种是通过view来创建,另一种就是通过代码来实现。

1.通过view实现

通过view方法很简单,就是在创建视图的时候选择提供rest导入即可。如下图:

22.png

然后写入API路径,如api/compamy/get;最后进行view的设置(这里关于view的设置就不多说了)。我们使用postman来进行测试,结果如下:

标签: 

没有了semantic_views模块的Drupal 8 如何向views中的不同行添加不同的类,来制作响应式网站

drupal 7中可以用semantic views模块向views中的不同行添加不同的类,但是Drupal 8 没有这模块,怎么搞,只能复写对应的模板,

这里设定你的views机器名是myviews,用的格式是:没有格式化的列表

现在来复写views-view-unformatted.html.twig模块,Drupal 8 开启模板建议并不会给出views模板的建议,这应该是一个缺陷,将其从core/views/templatefs中复制出来,粘贴到你的主题的templates中

下面是原始代码

标签: 

Drupal8开发习惯之一:如何建立一个单独的页面(主页,某个活动页面等需要完全定制的页面

Drupal8开发习惯之一:如何建立一个单独的页面(主页,某个活动页面等需要完全定制的页面)

最近研究好多的Drupal8打包发行的版本和acquia的论文,书籍等,发现了一些建站习惯和我自己的完全不同,所以总结一些

 

今天我们讲的是如何建议里一个页面,有下面几种选择:

1.使用page_manager ui模块

2.新建模块,建立一个routing指向Controller,在输出到MODULENAME.module中定义的twig模板

3.创建一个node

显然,最合理应该是第三种方案,我以前比较笨,一直用前两种方法

但是如何正确的用node 来创建一个页面呢

同样有两种方法:

1.:创建一个Landing Page(名字随意)内容类型,字段全部删除。

       创建这个这个内容类型的页面,然后复写这个node的模板,并添加一些东西,region,html等,一些简单的网站推荐用这种方法来创建主页,活动页等2016-12-30_192628.png

如何通过views 根据登录用户和匿名用户显示不同的内容?

在views里面创建两个block如下图所示:

qqtu_pian_20161224144849.png

然后第一个block设置contextual 为登录用户显示所下图所示:

2.png

设置保存以后,然后在block2设置匿名用户要显示的内容,再通过block1当中的 No results behavior 选项,添加Global: View area (Global: View area)通过设置如果下图所示:

标签: 

云客Drupal8源码分析之渲染上下文RenderContext、渲染器renderer

当drupal的控制器返回渲染数组的时候,系统会派发视图事件,渲染数组被main_content_view_subscriber(主内容视图订阅器)处理,它根据请求的格式,将系统流程定向到对应的格式渲染器,系统默认提供了四个格式渲染器,他们被定义在容器的main_content_renderers参数里面,其中html格式对应的是服务id为“main_content_renderer.html”的html格式渲染器,我们得到的html格式页面几乎都是它渲染的,它将渲染分为两个步骤:先渲染body标签,然后渲染html标签,其中我们将html的渲染称为根渲染。

具体的工作是由渲染器完成的,它负责将渲染数组转换为html字符串,本篇的主题就是这个渲染器。

要理解它是怎么工作的需要先理解一些知识。

首先是渲染数组,关于它可阅读本系列的《云客Drupal8源码分析之渲染数组(render array)》

其次是渲染上下文,下面介绍一下渲染上下文:

云客Drupal8源码分析之渲染数组(render array)

从本质上讲现代所有的web软件系统中都用到了渲染数组,只不过在drupal世界里明确给了它这个名字:“渲染数组”。

如果你使用过模板引擎,那么会很熟悉它,要使模板引擎工作,那么需要给它传入一些变量,这些变量将决定模板里面对应变量的显示,传入的这些变量往往是以数组的方式传入,键名代表模板里面的变量名,键值代表变量值,这样的数组就叫做渲染数组,比如著名的php小型框架CodeIgniter(简称CI框架)中的经典用法就是这样:

 

$this->load->view('show_news', $data);

其中参数show_news指定网页模板,参数$data就是程序中准备好的一个数组,包含了传递给模板的变量

 

云客Drupal8源码分析之页面标题

本篇主题讲解drupal8系统是如何计算页面标题的,标题很重要,尤其对于搜索引擎优化来说,标题权重很高

页面有标题当然是针对请求格式为html而言,在整个执行流程中如果控制器直接返回响应对象,那么标题计算就在控制器中随意进行
流程仅仅停留在Symfony的渲染管道中,如果控制器返回的是渲染数组,那么将派发视图事件,主内容视图订阅器MainContentViewSubscriber将判断请求格式,并启动对应的格式渲染器渲染输出
今天的话题就发生在请求格式为html的HtmlRenderer渲染器中,这个渲染器用到了标题解析器
这就是本主题的内容,下面看看标题是怎么计算出来的:

云客Drupal8源码分析之控制器执行及其解析器controller_resolver

在drupal的HttpKernel核心中使用控制器解析器来取得要执行的控制器,以及解析出控制器需要的参数
除此之外也在多个地方用到它,比如渲染数组的回调解析,是一个重点内容

它的服务ID为:controller_resolver,接受以下两个参数:

psr7.http_message_factory:用于创建psr7描述的请求对象(关于这个请看:http://www.php-fig.org/psr/psr-7/
class_resolver:从容器里面取服务

页面

订阅 RSS - Drupal 8.x