Drupal中使用xlsx js库导出Excel数据

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2023-03-22 06:22

我们制作的一个Drupal统计表,其中有些列和行是用js生成的,客户想要导出Excel,以前我们都是导出csv,让用户自己用Excel打开,转一下。使用views_data_export模块,可以很好的解决这类问题。直接导出Excel,需要安装Excel的库,这个依赖于composer。

   使用composer管理Drupal站点,需要科学上网,有时候不大方便,所以我大多数时候都是导入导出CSV。

我在开发NodeJS项目的时候,用过xlsx.js库,感觉特别好用。所以就尝试了一下,在Drupal中使用这个库,从github上,下载这个项目的源代码:

https://github.com/SheetJS/sheetjs

解压缩,在dist目录下面,有打包好的js,我是把整个dist目录都拷贝到Drupal项目中。在Drupal的libraries.yml文件中引入js文件:

论坛:

Drupal版本:

Drupal 8 升级 Drupal 9 小结

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2023-03-06 14:09

升级步骤

备份数据库

1,升级到最新的D8版本, 8.9.20

2,升级模块,支持D9

  2.1升级第三方模块

  2.2 升级定制模块

3,升级到Drupal9


自定义模块检查,是否支持D9,主要是 info文件中,是否包含了:

core_version_requirement: ^8 || ^9

对于没有这一行的加上去


先将Drupal升级到8.9的最新版本,这个简单。


接着是升级模块,到支持Drupal9的版本,这个需要自己一个一个查找,这是实际站点,我逐个查找的:

admin_toolbar 8.x-1.27  : admin_toolbar-3.2.1 


blocktabs 8.x-1.0-beta3 :blocktabs-8.x-1.0-beta4 


依赖于:https://www.drupal.org/project/jquery_ui_accordion


论坛:

Drupal版本:

Python内存溢出优化

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2023-02-24 07:08

在一个项目中,我们使用python处理文本的智能分类,因为文本分类这样的工作,tensorflow, pytorch这些人工智能框架处理起来更为顺手,这些框架用python调用最为方便。我们的内容存放在Drupal里面,这就需要Drupal和python之间交互。

 

我简单使用了python下面的flask框架,封装了一个接口给Drupal调用,这样Drupal将文章的正文传递给python,python调用底层的框架,计算出来分类结果,返回给Drupal。

论坛:

Linux下面的Drupal连接oracle配置文档

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2022-04-08 02:57

1, 先用一段代码测试一下:

       $conn = oci_connect('username', 'password', 'dbname');

if($conn) {

  //echo"连接oracle成功!";

  drupal_set_message('连接oracle成功!');

}else{

 // echo"连接oracle失败!";exit;

  drupal_set_message('连接oracle失败!');

}

 

报错:

Drupal版本:

使用Tome模块给Drupal站点实现动静分离

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2022-04-08 02:46

我们有一个客户,想在节日期间关闭网站的数据库,还想让网站能够访问。这个需求在国内很常见。我们初步选定了Tome模块。

Tome模块简介

Tome模块是Drupal站点生成静态站的利器,只需要Drupal就能生成静态站点,生成的效果和动态站点几乎一样,对于views,多媒体的支持也很友好。将站点静态化,可以极大的提高站点的性能和安全性。Tome的原理和早先的Boost模块一样,就是发起http请求,将动态生成的页面保存到指定的本地文件目录里面。


Drupal版本:

Drupal连接Oracle

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2022-03-29 03:55

当我们使用Drupal构建一个大型项目的时候,我们常常会和各种业务系统打交道,而有的业务系统数据库用的是oracle,我们需要建立与oracle的连接,从里面查询我们需要的数据。

我们假定你已经配置好了,oracle的相关库。

windows下面参考:

Drupal 与Oracle集成时,oracle相关配置文档, http://www.thinkindrupal.com/node/6009 

linux下面也需要安装oracle的客户端,然后安装PHP的oracle扩展,这个过程有点费事,网上有很多教程。


我们假定你已经完成了这些配置。我们封装的连接oracle的函数我们封装的连接oracle的函数,


Drupal版本:

masquerade实现用户切换

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2022-03-29 02:47

有时候正式站点上线了以后,想要切换一下指定用户,查看一下效果,如果创建一个测试帐号,录入测试数据,在正式站点也不方便。对于Drupal用户来说,此时有一个方便的模块可以帮您实现这样的功能,这就是masquerade模块,它允许具有权限的用户,直接切换到给定用户,以给定用户浏览相关功能。除了这个模块以外,Drupal8,9下面还有userswitch模块提供了同样的功能。我们这里介绍masquerade模块。

 

Masquerade英文释义:

[ˌmæskəˈreɪd]

n.伪装;化装舞会;假面舞会

v.冒充

页面

Subscribe to Think in Drupal RSS