站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > CMS 教程 >

drupal导入数据的实现方法

2018-06-10 08:39 | 来源:易采源码网 | 编辑:admin |

本文实例讲述了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程序设计有所帮助。

  • 织梦CMS上传服务器后出现数据连接失败是怎么回事如何解决-DedeCms教程
  • 织梦百度结构化数据地图提交插件常见问题及解决方案-DedeCms教程
  • ECshop无法导入淘宝助理问题剖析-ECshop教程
  • dede数据库还原0条记录问题-DedeCms教程
  • DedeCMS Error Track:DedeCMS错误警告:连接数据库失败 的解决办法-DedeCms教程
  • 给dedeims添加在线支付和提现的功能之数据库设置-DedeCms教程
  • ECstore数据备份、恢复与清除体验数据-ECshop教程
  • ecshop数据库ecs_stats短时间内会变很大的解决方法-ECshop教程
  • ecshop批量如何导入淘宝数据包?-ECshop教程
  • 还原dedecms数据后系统基本参数空白的解决方法-DedeCms教程
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号