你在这里

Drupal 星球

03/23/2020 - 21:44 - Think in Drupal

作者:亚艾元技术部

需要将yml文件中的_title改为:

    _title_callback: '\Drupal\mymessage\Controller\MymessageController::messageDeleteTitle'

这样的形式:

  public function messageDeleteTitle(NodeInterface $node) {     $title = "确定要删除草稿箱" + $node->title->value + "?";     return $title;   }

MymessageController代码里面加上: ...

03/20/2020 - 16:40 - Think in Drupal

这部分内容,以亚艾元CMS发行版为基础,讲述亚艾元团队在Drupal开发过程中,使用了哪些常用模板。主要讲述:


1,核心自带模块。

2,亚艾元CMS自带模块。

3,开发过程中常见的备用模块。

4,优秀发行包里面包含的模块。


亚艾元CMS发行版,是一个基于Drupal8/9版本基础上,亚艾元自主开发的一个Drupal发行包,主要根据中国用户实际情况,满足常见中国用户需求。

特色:

1,基于频道、栏目的内容管理、权限设置,更符合中国国情。

2,更丰富的多媒体支持,图片,附件、PDF、视频、音频,满足日常需要。

3,内置10多种列表模板,普通用户只需要选择哪种模板即可改变展现形式。

4,内置ludwig贝多芬模块,支持非composer模式,复合国内内网要求。

5,精选多个常用模块,对于编辑器、图片处理,等常用功能做了加强。

6,内置专题管理,快速搭建专题站。...

03/20/2020 - 16:33 - Think in Drupal

 作者:亚艾元技术部

我们当前使用的版本是Drupal8.8,从D8开始,自身携带了Ckeditor编辑器。默认就提供了所见即所得编辑功能。默认启用的编辑器里面按钮不够丰富,我们为其做了加强。

1, 开启media、media library模块,启用多媒体上传按钮。

2, 增加对font,color的设置,安装模块colorbutton、ckeditor_font、panelbutton,下载对应的js存放到libraries目录.如果没有下载的话,会报警告信息:

Warning: file_get_contents(/libraries/font/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (line ...

03/19/2020 - 15:30 - Think in Drupal

作者:亚艾元技术部

Protected Pages

项目地址:https://www.drupal.org/project/protected_pages

Drupal8模块安装量:6168

通过这个模块,管理员可以对网站的特定页面进行保护,只有提供了正确密码才能访问内容。支持设置全局密码,支持特定页面单独设置密码。

 

Shield

项目地址:https://www.drupal.org/project/shield

Drupal8模块安装量:8531

使用apache的Shield功能,保护开发站点,只有输入正确的用户名密码后才能访问站点。需要修改apache的配置。

 

...

03/13/2020 - 10:51 - Think in Drupal

作者:亚艾元技术部

//标记的ID,比如:favorite,read,可以在flag的管理界面获取。

$flag_id = 'bookmark'; $flag_service = \Drupal::service('flag'); $flag = $flag_service->getFlagById($flag_id);


// 给对应实体打标记,默认使用当前用户,.

$flag_service->flag($flag, $entity);


//如果需要给特定用户打标记:

$uid = 123; $user = User::load($uid); $flag_service->flag($flag, $entity,$user);


// 给对应实体取消打标记,默认使用当前用户...

03/07/2020 - 15:15 - Think in Drupal

作者:亚艾元技术部

这是我最初的配置:

<TablePagination            colSpan={3}   count={count}   rowsPerPage={rowsPerPage}   page={page}     SelectProps={{        native: true,   }}   onChangePage={this.handleChangePage}   onChangeRowsPerPage={this.handleChangeRowsPerPage}   ActionsComponent={TablePaginationActionsWrapped...
02/18/2020 - 12:12 - Think in Drupal

作者:亚艾元技术部

InfiniteScroll组件里面调用了this.loadItems.bind(this),

所以不需要

  componentWillMount() {     this.loadItems(0);   }

这两导致调用了两次,前面的数据加载了两边。



部署以后,发现一些情况下,InfiniteScroll组件初始请求会被调用两次。


这个时候,可以使用:

  if(this.state.page == 0){ itemsTem = [];     }

就是当当前页为第0页的时候,将items的数组初始置为空。

这样就可以临时解决问题了。


...

02/13/2020 - 11:10 - Think in Drupal

作者:亚艾元技术部

一个客户让帮助实现一个内容类型的上一篇、下一篇的功能,以前的时候,我们使用previous next API模块实现,这是在很早以前了。下载了一下,发现Drupal8下面不好用,而且需要处理以前的节点。实际上这个功能对于性能影响不大,不需要previous next API模块的形式也完全可以。

   后来找了一下,发现Drupal8下面flippy可用,很好的实现了这个功能。模块下载地址:

   https://www.drupal.org/project/flippy

1, 下载安装模块

2, 在内容类型的编辑页面,有一个flippy的设置标签,点开,进行配置。里面配置项很多,我只启用了上一篇、下一篇的功能,它还支持第一篇、最后一篇的,...

01/27/2020 - 16:47 - Think in Drupal

作者:亚艾元技术部

   客户想按照部门的名称拼音排序,但是数据库中,我仅仅存储了中文名字,为了排序,我需要增加一个字段。

const departmentSchema = new Schema({  ...   //部门名称   name: {     type: String,        index: true   },   //部门名称拼音   pinyin: {     type: String,        index: true   },  ...

...

01/18/2020 - 11:10 - Think in Drupal

作者:亚艾元技术部

与Drupal8整个前后端分离的项目中,我们经常遇到这样的问题:

Access to XMLHttpRequest at 'http://localhost/gdsy/user/login' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.


如果生成的静态html+js都放在一个域名下面,就不存在这个问题。域名不一样,这个问题由于浏览器的安全限制,就会存在。


cors : 跨域请求的问题。在Drupal8里面,...

页面