drupal导入数据的实现方法
drupal导入数据的实现方法
发布时间:2016-12-23 来源:查字典编辑
摘要:本文实例讲述了drupal导入数据的实现方法。分享给大家供大家参考。具体实现方法如下:一、问题:最近一个项目是用drupal实现的。最后,面...

本文实例讲述了drupal导入数据的实现方法。分享给大家供大家参考。具体实现方法如下:

一、问题:

最近一个项目是用drupal实现的。最后,面临一些书的数据的导入。找了些drupal的模块,不太好用。 最后的方法是创建一个基本页面,PHP Code导入数据。

二、解决方法:

首先在源数据那头,把数据通过JSON方式发布出来,在这个代码里,通过HTTP获取数据,并用JSON解码。得到数据以后, 生成drupal的node,用 node_save 保存到drupal里。 这种方法有安全性的问题,所以在不使用的时候,记得加止阻止代码执行的语句。

页面代码如下:

复制代码代码如下:<scriptlanguage="javascript">

functionimportConfirm(){

if(confirm("确认信息")){

document.location="/<?phpechocurrent_path()?>/import";

}

}

</script></p> <p><?php

if(arg(2)=="import") {

//获取数据源的内容

$result=drupal_http_request("url");

if($result->code==200){

//JSON数据源解码

$books=json_decode(trim($result->data));

foreach($books as $book) {

foreach($bookas$k=>$v){ //原数据是base64编码的,这里解码,并转换成utf8编码

$book->$k=mb_convert_encoding(base64_decode($v),"UTF8","GB2312");

}

$node=newstdClass();

$node->type='ct_tushu'; //内容类型

$node->uid=1;

$node->status=1;

$node->language="zh-hans";

$node->created=date("Y-m-dH:i:s");

$node->field_tushuauthor_multi=array('und'=>array( array("value"=>($book->author)) ));

$node->title=($book->title);

$node->field_tushuisbn=array("und"=>array( array("value"=>($book->isbn)) ));

node_save($node);

}

}

}

?> </p> <p><a href="javascript:importConfirm()">导入书</a>

希望本文所述对大家的drupal程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新drupal学习
热门drupal学习
CMS教程子分类