版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SDK开放接口详解出自淘宝网店铺开发者WIKISDK是通过php方式对外提供接口的,详细的接口信息,请阅读SDK安装目录下的htdocs/dcsdk_functions.php,提供了全局变量、函数和相关的接口。目录· 1 卖家数据 o 1.1 数据详解 o 1.2 获取方式 o 1.3 使用实例 · 2 店铺数据 o 2.1 数据详解 o 2.2 数据详解 o 2.3 使用实例 · 3 店铺类目数据 o 3.1 数据详解 o 3.2 获取方式 o 3.3 使用实例 · 4 宝贝数据 o 4.1 数据详解 o 4.2 获取方式 o 4.3 使用实例 o
2、4.4 宝贝图片大小 · 5 友情链接数据 o 5.1 数据详解 o 5.2 获取方式 o 5.3 使用实例 · 6 URL数据 o 6.1 数据详解 o 6.2 获取方式 o 6.3 使用实例 卖家数据 数据详解 卖家ID:id 卖家昵称:nick 注册时间 : registrationDate 国家 : country 省份 : province 城市 : city 信用 : sellerCredit 好评率:sellerGoodRate获取方式设计师在模板上通过$_user获取当前的卖家信息。使用实例<?php /*获取卖家信用*/ $_user-&g
3、t;credit; /*获取卖家好评率*/ $_user->goodRate; /*获取卖家ID*/ $_user->id; /*获取卖家昵称*/ $_user->nick; /*获取卖家注册时间*/ $_user->registrationDate; /*获取卖家国家*/ $_user->country; /*获取卖家省份*/ $_user->province; /*获取卖家城市*/ $_user->city;?>店铺数据 数据详解店 铺 id: id店铺标题: title店铺域名: domainName店铺logo: shopLogo(新版头
4、部上用到的那种)店 标: logoUrl(原先老的80x80的)店铺主营: mainBusiness收藏人气: collectedCount宝贝数量: itemCount 店主昵称: ownerNick店主标识: ownerId 开店时间: startTime店铺简介: introduction店铺公告: bulletin店铺页面链接: shopPageLinks数据详解设计师在模板上通过$_shop获取当前的店铺的信息,其中页面链接信息通过“shopManager”来获取。使用实例<?php /*获取店铺id*/ $_shop->id; /*获取店铺名称*/ $_shop->
5、;title; /*获取店铺简介*/ $_shop->introduction; /*获取店铺公告*/ $_shop-> bulletin; /*获取店铺ID*/ $_shop->id; /*获取店铺标题*/ $_shop->title;?><?php /*获取首页链接*/ $pageLinks =$shopManager->getShopPageLinks(); foreach($pageLinks as $pageLink)echo "页面名称".$pageLink->text; echo "页面链接"
6、.$pageLink->href; echo "页面打开目标".$pageLink->target;?>店铺类目数据 数据详解店铺类目ID : id店铺类目名称 : name店铺类目图标 : iconUrl父类目ID : parentId类目所属店铺ID : shopId获取方式店铺类目获取通过ShopCategoryManager获取,ShopCategoryManager的说明如下:1. 查询所有的店铺一级类目:queryAll参数说明:此接口不需要参数,查询当前店铺的所有店铺类目2. 查询店铺类目的所有
7、子类目:querySubCategories参数说明:此方法需要传递父类目id3. 根据店铺类目标识查询店铺类目:queryById参数说明:此方法需要传递类目id使用实例查询所有的店铺类目:<?php /*查询所有的店铺一级类目数据*/$allShopCategory = $shopCategoryManager->queryAll(); foreach($allShopCategory as $shopCategory) echo "店铺类目名称是: ".$shopCategory->name;?>查询店铺类目的所有子类目:<?php$su
8、bCategories = $shopCategoryManager-> querySubCategories ($parentId); foreach($subCategories as $shopCategory) echo "店铺类目名称是: ".$shopCategory->name; ?>查询店铺类目中的一级类目:此时$parentId=0,即所有一级类目的父类目的id=0查询店铺类目中的二级类目:把已经查到一级类目的类目id作为$parentId,查询店铺类目的二级类目根据店铺类目标识查询店铺类目:<?php$shopCategory =
9、 $shopCategoryManager-> queryById ($Id);echo "店铺类目名称是: ".$shopCategory->name;?>宝贝数据 数据详解宝贝ID : id宝贝后台类目 : itemCategoryId宝贝标题 : title宝贝价格 : price宝贝图片地址 : picUrl宝贝销售量 : soldCount宝贝收藏量 : collectedCount宝贝所属卖家ID : ownerId宝贝评论数 : commentCount (此属性只有商城店铺有,C店铺没有)宝贝销售量 : soldCount获取方式设计师通过
10、ItemManager获取宝贝数据,ItemManager的接口说明如下:1. 根据关键字查询宝贝:queryByKeyword)参数说明:此接口需要传递3个参数,分别为查询关键字,宝贝排序类型,查询数量,其中宝贝排序类型具体见下表,此接口最多返回20个宝贝。2. 根据店铺类目ID来查询该类目下的宝贝: queryByCategory参数说明:此接口需要传递3个参数,分别为店铺类目id,宝贝排序类型,查询数量,其中宝贝排序类型具体见下表,此接口最多返回20个宝贝。3. 根据指定的宝贝Id查询对应的宝贝数据:queryById参数说明:此接口需要传递1个参数宝贝ID,如果没有查询到宝贝则返回空4
11、. 根据一组宝贝ID查询宝贝,返回的宝贝最大个数为20个:queryByIds参数说明:此接口需要传递2个参数,分别为待查询的宝贝ID列表以及排序类型,其中宝贝排序类型具体见下表,此接口最多返回20个宝贝。宝贝排序规则:排序标识 说明 是否默认显示 ceofp 人气宝贝降序排序 是 _ceofp 人气宝贝升序排序 否 hotsell 热销宝贝降序排序 否 _hotsell 热销宝贝升序排序 否 price 以宝贝价格降序排序 否 _price 以宝贝价格升序排序 否 newOn 以最新上架宝贝降序排序 否 _newOn 以最新上架宝贝升序排序 否 HotKeep 以热门搜藏降序排序 否 _Ho
12、tKeep 以热门搜藏升序排序 否 time 快结束在后 否 _time 快结束在前 否 使用实例根据关键字查询宝贝:<?php /*查询关键字为IPad的10个宝贝, 按照热销降序排列*/$items = $itemManager-> queryByKeyword ("IPad","hotsell",10);foreach($items as $item) echo "宝贝标题: ". $item->title; echo "宝贝价格: ". $item->price; ?>根据店铺
13、类目ID查询该类目下的宝贝:<?php /*根据类目ID查询10个宝贝,按照热销降序排列*/$items = $itemManager-> queryByCategory ($categoryId,"hotsell",10);foreach($items as $item )echo "宝贝标题:". $item->title; echo "宝贝价格:". $item->price; ?>根据指定的宝贝Id查询对应的宝贝数据:<?php /*根据ID查询宝贝*/ $item = $itemManag
14、er-> queryById ($id); echo "宝贝标题:". $item->title; echo "宝贝价格:". $item->price;?>根据一组宝贝ID查询宝贝:<?php /*根据ID列表查询宝贝*/ $ids=array( 123456,654321); $items = $itemManager->queryByIds($ids,"hotsell");foreach($items as $item ) echo "宝贝标题:". $item->t
15、itle; echo "宝贝价格:". $item->price; ?>宝贝图片大小现在支持的图片大小有: 40x40、60x60、80x80、100x100、120x120、160x160、220x220、310x310、620x10000 获取不同尺寸的图片<?php /*根据ID查询宝贝*/ $item = $itemManager-> queryById ($id); echo “宝贝图片120x120”. $item->getPicUrl(120); echo “宝贝图片220x220”. $item-> getPicUrl(2
16、20); ?>友情链接数据 数据详解友情链接id : id友情链接标题 : title用户标识 : userId友情链接URL : url获取方式友情链接数据通过FriendLinkManager接口获取,FriendLinkManager的接口说明如下:1. 查询当前用户的所有友情链接:queryAllLinks参数说明:此接口不需要参数,获取当前用户的友情链接使用实例查询当前用户的所有友情链接:<?php /*查询用户所有的友情链接*/ $friendLinks = $friendLinkManager-> queryAllLinks ();foreach($friend
17、Links as $friendLink ) echo "友情链接:". $friendLink ->title;?>URL数据 数据详解宝贝详情页URI搜索列表页URI评价页面URI店铺介绍页面URI店铺类目URI收藏店铺URI旺旺链接URI获取方式1. 生成宝贝详情页的URI: detailURI参数说明:此接口需要传递宝贝对象作为参数<?php $uriManager->searchURI(); ?> 2. 生成搜索列表页的URI: searchURI参数说明:此接口不需要参数<?php $uriManager->detail
18、URI($item); ?> 3. 生成当前用户的评价页面URI: rateURI参数说明:此接口不需要参数<?php $uriManager->rateURI(); ?> 4. 生成当前店铺介绍页面的URI: shopIntrURI参数说明:此接口不需要参数<?php $uriManager->shopIntrURI(); ?> 5. 生成店铺类目对应的URI:shopCategoryURI参数说明:此接需要传递店铺类目对象作为参数,当点击生成的uri时,本地sdk会自动跳转到searchList.htm,而此URI最终会渲染searchList.p
19、hp页面<?php $uriManager->shopCategoryURI ($shopCategory); ?> 6. 生成收藏店铺URI:favoriteLink 参数说明:此接口不需要参数,默认获取收藏当前店铺的URI<?php $uriManager-> favoriteLink(); ?> 7. 生成旺旺链接URI:contactTag(userNick)参数说明:此接需要传递用户的旺旺名称<?php $uriManager-> contactTag ('nick'); ?> 使用实例生成宝贝详情页的URI:&l
20、t;?php /*生成宝贝详情页的URI */ $itemUrl = $uriManager-> detailURI($item);?>生成搜索列表页的URI:<?php /*生成搜索列表页的URI */ $searchUrl = $uriManager->searchURI();?>生成评价页面的URI:<?php /*生成评价页面的URI */ $ rateURI = $uriManager->rateURI ();?>生成店铺介绍页面的URI:<?php /*生成店铺介绍页面的URI */ $ shopIntroduction = $
21、uriManager->shopIntrURI ();?>生成店铺类目URI:<?php/*生成店铺类目URI*/ $uriManager->shopCategoryURI($shopCategory)?>生成收藏店铺URI:favoriteLink <?php/* 参数说明:此接口不需要参数,默认获取收藏当前店铺的URI */ echo "生成收藏店铺URI: ".$uriManager->favoriteLink()?>生成旺旺链接URI:contactTag(userNick) <?php/* 参数说明:此接需要传
22、递用户的旺旺名称 */ echo "生成旺旺链接URI: ".$uriManager->contactTag('nickname')?>模板编写规范出自淘宝网店铺开发者WIKI跳转到: 导航, 搜索目录· 1 总体说明 · 2 模板目录结构 · 3 模板描述符文件详解 · 4 模板编写 o 4.1 引入模块 o 4.2 引入片区 o 4.3 模板中加入模块配置 o 4.4 宝贝详情页设计 · 5 PHP Lite引擎详解 o 5.1 Php lite限制 o 5.2 Php lite函数白名单 总
23、体说明 对于一个设计师的页面来说,在淘宝上呈现的页面结构如下:基于这样的页面结构:1. 淘宝要提供一个页面的框架,也就是页面的Layout,设计师设计的页面是Layout中的一部分,如在下面的位置:<div id="content"></div> 2. 模板必需提供全局的CSS,Header和Footer,在任何一个设计的页面都会包含这三者。3. CSS,Header和Footer还会被淘宝其他页面所使用,如评级、店铺留言等。4. 页面包含模块,一部分模块是支持交互的,也就是卖家可以录入一些参数来改变模块的呈现基于这个考虑,模板需要一个全局的配置文件
24、,也就是site.xml,该文件包含了模块的详细信息,由于页面还可能涉及到模块,所以我们还要对各个模块进行定义,模块同时也是代码复用的基本单元,模块的配置文件为module.xml。模板目录结构 模板目录结构是指模板各个资源目录划分,如下图:插入图片:模板详细目录结构目前主要分为已下记录类: 静态资源:都存放在assets目录,同时包括images和stylesheets两个子目录,静态资源引用需要以相对路径为准。 模板文件:也就是模板文件,后缀名为.php或者.vm,依据所选择的模板语言,模板文件包括全局头,全局尾和各个文件的主体。页面文件不能形成子目录。 模块文件:不能包含其他资源文件,如
25、果包含其他资源文件,需要来自淘宝相册的服务,模块主要就是模块的配置文件和其模块主体文件 元信息文件:如xml文件,screenshot文件等,模板为site.xml,模块为module.xml 在SDK中,htdocs可以同时包括多个模板,以不同的目录加以区分,SDK会自动识别这些模板并进行管理,如样例中的template1是模板的名称。 在htdocs的根目录下有一个dcsdk_functions.php的文件,所有SDK提供的函数都会在这里列出;还有一个site.xsd,这个是site.xml的xml schema文件,主要是辅助进行site.xml编辑。模板描述符文件详解 模板是超级旺铺
26、的基础,主要是模板、模板版本、配置和资源这四项,每一个模板都有一个名称为site.xml的描述文件,包含一下信息: 基本信息:如模板语言、名称、描述、作品截图、作者、支持的网站、服务方式等 模板全局信息:如全局css,全局的页面header和footer等 风格信息:模板所包含的风格,都要在<styles>元素下进行声明 页面信息:一个模板包含多个页面,每一个页面的具体功能要说明清楚,如店铺的模板页面,那个是首页,那个是详情页等,都需要进行描述 模块信息:该模板所包含的模块以及各个模块的详细信息 参数信息:如果模板、页面和模块需要参数,这个参数是什么类型的,form该如何交互,这些
27、也需要明确<?xml version="1.0" encoding="GBK"?><site version="1"> <!模板标识由系统自动生成 -> <id> 2cd2659796794dbab1e4115dac7facf3</id> <!模板名称-> <name>模板-1</name> <!设计师信息-> <author wangwang="XX" url="">Jack
28、y</author> <!模板缩略图-> <thumbnail>assets/images/frontpage.png</thumbnail> <!模板语言-> <language>php</language> <!模板版本-> <version>2010050901</version> <!修改日志-> <change-notes> change log </change-notes> <!模板描述,不要超过100个字-> &
29、lt;description> description here </description> <!模板全局信息-> <global> <!模板头部-> <header>header.php</header> <!模板尾部-> <footer>footer.php</footer> <!模板全局CSS文件-> <css>assets/stylesheets/global.css</css> </global> <!模板风格-&g
30、t; <styles> <style> <!风格名称-> <name>green</name> <!风格缩略图-> <thumbnail>assets/images/green.jpg</thumbnail> <!风格CSS文件-> <css>/assets/stylesheets/green.css</css> </style> </styles> <!模板参数信息-> <parameters> <param
31、 name="demo" description="只读属性-1" readonly="true">demo</param> <param name="theme" description="主题风格">green</param> </parameters> <!模板页面-> <pages> <page type="index"> <name>首页</name>
32、<file>index.php</file> <parameters> <param description="标题">untitled</param> </parameters> </page> <page type="detail"> <name>宝贝详情页</name> <file>detail.php</file> </page> <page type="article&quo
33、t;> <name>文章页面</name> <file>article.php</file> </page> <page type="other"> <name>促销页面</name> <file>onsale.php</file> </page> </pages></site>出于XML编写的方便,SDK为site.xml提供了XSD,只需要一个XML Editor就可以完成XML校验和相关的代码提示。模板编写
34、在模板中的模块都是集中在模板标准目录的modules目录中,可先参看模块编写规范 引入模块模块有两种类型,分别是系统模块和设计师自定义模块,下面分别说明如何引入系统模块和设计师自定义模块: 引入系统模块 <?phpecho include_system_module("shop.picRound","1.0-common",100);?>其中include_system_module需要三个参数,第一个为“系统模块简称”,第二个为“系统模块版本”,第三个为domId,这里需要注意的是domId需要在页面内唯一。 引入自定义模块 <?ph
35、p echo include_local_module("textbox",101); ?>其中include_local_module有两个参数,第一个”textbox”为模块的名称,第二个为domId,这里需要注意的是domId需要在页面内唯一。引入片区片区是设计师在页面预留的一块区域,卖家可以在坑里添加模块,具体引入坑的语法如下:<div id=" navigator" class=" J_TRegion"> <?php $topList=array('shortname'=&
36、gt;'shop.topList','version'=>'1.0-common',domId=>001); $selfModule=array('id'=>'selfModule','domId'=>'001'); $modules=array($topList, $selfModule); echo include_modules("testModules", $modules) echo include_system_module(&
37、quot;shop.searchInShop","1.0-common",002) ?></div>其中include_modules包含两个参数,第一个参数是片区对应的名称,第二个参数是片区里面引入的默认模块列表。引入片区需要注意以下几点:1. 片区需要通过“insertmodules”这个class来标识.2. 片区里面也可以引入系统模块和引入自定义模块模板中加入模块配置设计师经常会遇到这样的问题:在模板挖了坑,但是没有办法控制坑中能够添加哪些模块。现在在SDK模板中加入了新的配置规则,允许设计师精确配置自己坑中所支持的模块。示例
38、配置如下:<?xml version="1.0" encoding="GBK"?><site version="1"> <id>9bb679384bb64c59be4f23ca37b6bcf7</id> <name>xiaohu</name> <author wangwang="" url=""></author> <thumbnail>assets/images/frontpage.pn
39、g</thumbnail> <language>php</language> <version>1.0.0</version> <apply-sites>3,7</apply-sites> <change-notes> change log </change-notes> <description> description </description> <parameters> <param name="demo" descr
40、iption="只读属性-1" readonly="true" ptype="text" formType="text" label="label">demo</param> <param name="theme" description="主题风格" ptype="text" formType="text" label="label">green</param
41、> </parameters> <global> <header>header.php</header> <footer>footer.php</footer> <css>assets/stylesheets/global.css</css> </global> <styles default="gray"> <style> <name>gray</name> <thumbnail>/assets/im
42、ages/frontpage.png</thumbnail> <css>assets/stylesheets/gray.css</css> </style> </styles> <rules> <common> <support> <module shortname="shop.searchInShop" version="1.0-common"/> <module shortname="shop.topList" ver
43、sion="1.0-common"/> <module shortname="shop.friendLink" version="1.0-common"/> </support> </common> <header> <placeholder name="head-modules"> <support> <module shortname="shop.itemCategory" version="1.0
44、-common"/> </support> </placeholder> </header> <footer> <placeholder name="foot-modules"> <support> <module shortname="shop.fileList" version="1.0-common"/> <module id="side_sales"/> </support> <
45、/placeholder> </footer> </rules> <pages> <page type="index"> <name>首页</name> <file>index.php</file> <thumbnail>assets/images/index.png</thumbnail> <description>sjgjweogj</description> <rules> <placeholder n
46、ame="sub-modules"> <support> <module shortname="shop.itemCategory" version="1.0-common"/> <module shortname="shop.fileList" version="1.0-common"/> <module id="side_help"/> <module id="side_sales"/>
47、 </support> </placeholder> </rules> </page> </pages></site>在site节点下的rules中配置通用的模块和头部尾部模块,在page节点下的rules中配置具体页面下坑中支持的模块。通用模块的配置不需要指定坑的名称,头,尾,页面中的模块配置需要指定到页面中的具体的坑名。具体坑中支持哪些模块的计算方式是,通用配置集合与当前坑模块集合的并集。模块配置支持系统模块和设计师自定义的模块两种模块类类型。宝贝详情页设计宝贝详情页和其他页面不同,主要是设计师不再是设计整个页面,而是
48、设计局部页面,这个主要是出于买家的统一感受。对于宝贝详情页来说,配置信息如下:这里需要设置一个宝贝详情文件名称,目前这个文件不需要设置任何内容,留空即可,但是一定需要一个文件,主要是URL定位和以后的扩展,还有你需要设置两个section,名称分别为left和right,不能更改这两个名称,然后是这两个section对应的php文件。如果你需要设计多个detail文件,需要在site.xml中声明,配置不同的信息即可。PHP Lite引擎详解 SDK提供的PHP环境并不是原生的PHP,而是使用Java模拟PHP环境,最终是由Java来负责PHP的渲染。PHP Lite是PHP的精简版,主要用于
49、SDK上,其目的是为设计师提供PHP的设计环境,同时确保服务器端的安全。Php lite限制PHP-lite 对PHP的执行的一些限制: 循环次数限制:100次(如 foreach,for,do,while 等循环语句的循环限制,当超过100次,则立马就结束循环) 自定义方法嵌套调用层数限制:100次(主要是防范无限递归调用,当超过调用层数限制,直接抛出异常) 循环嵌套调用层数限制:4层 (无论何种循环,都不能连套超过限制数,否则直接抛出异常)以上限制皆为默认值,可以通过taobao_quercus_perties来配置合适的限制值Php lite函数白名单PHP-lite
50、 提供了PHP内置函数的白名单如下:.caucho.quercus.lib.ArrayModule getLoadedExtensions array_change_key_case array_chunk array_combine array_count_values array_pop each array_key_exists key_exists array_keys array_fill array_flip array_pad array_filter array_product array_push array_rand array_reduce array_reverse a
51、rray_search array_shift array_slice array_splice spliceImpl array_sum array_unique array_unshift array_values array_walk array_walk_recursive arsort asort ksort krsort natsort natcasesort in_array rsort usort uasort uksort extract extract array_diff array_fill_keys array_diff_assoc array_diff_key ar
52、ray_diff_uassoc array_diff_ukey array_intersect array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_map array_merge array_merge_recursive array_multisort array_udiff array_udiff_assoc array_udiff_uassoc array_uintersect array_uintersect_assoc array_uintersect_
53、uassoc sizeof count next key prev reset shuffle sort pos compact current end range.caucho.quercus.lib.ClassesModule call_user_method call_user_method_array class_exists get_class get_called_class get_class_methods get_class_vars get_declared_classes get_object_vars get_parent_class interface_exists is_a is_object is_subclass_of method_exists property_exis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮外卖配送合作协议(2026年连锁餐饮行业)
- 客户健康风险评估标准规范
- 运动损伤康复理疗标准流程
- 网格化安全管理责任落实办法
- 肉鸡垫料管理及球虫病防控方案
- 特种作业人员安全技术培训规程
- 滴灌带铺设维护操作指引
- 草莓大棚温湿度管理规范
- 晨会流程管理规范
- 水溶肥滴灌施肥系统安装操作规范
- 2025年济南历城区九年级中考英语二模考试试题(含答案)
- 脾胃病的中医护理
- 《半导体集成电路》课件-第七章:可靠性评价与失效分析
- 2024年广东惠州大亚湾开发区招聘公办学校教师真题
- 锂电池电极工艺培训资料
- 工厂急救知识培训课件
- GB/T 42596.2-2024机床安全压力机第2部分:机械压力机安全要求
- GB/T 17727-2024船用法兰非金属垫片
- TGDGX 0003-2024 高校物业服务费用测算及基本人员配置规范
- 实验室生物安全手册资料
- 切口机操作规程
评论
0/150
提交评论