手机
当前位置:查字典教程网 >CMS教程 >drupal >drupal导入数据的实现方法
drupal导入数据的实现方法
摘要:本文实例讲述了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注册表单的方法

Drupal第三方模块汇总

Drupal7之drupal_static函数用法解析

drupal6上传中文文件名附件乱码问题解决方法

drupal创建拖动排序表格的方法

drupal 自定义表单调用autocomplete主标签实现代码

drupal按分类进行文章排序的实现方法

drupal的workbench moderatoin模块对node的修改方法

drupal开启pathauto模块后得到路径参数的方法

drupal实现输出可点击表头排序表格的方法

精品推荐
分类导航