drupal导入数据的实现方法

   2015-08-02 0
核心提示:这篇文章主要为大家介绍了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
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行