利用Dreamweaver UltraDev和PayPal快速开发电子商务


Joel Martinez和Ray West (www.basic-ultradev.com)

本文说明如何使用一组免费的服务器行为来集成UltraDev和PayPal,以解决三个常见在线销售问题。这些服务器行为称为PayPal扩展套件,由Shore Computers的Mike Ahern开发 (http://www.shorecomp.com/ultradev/paypal/default.asp)。此套件是免费的,但是如果您使用他的产品,我们希望您通过PayPal系统进行捐赠。

即使没有此服务器行为套件的帮助,仅有HTML的知识就可以使用PayPal购物车。如果您会剪切和复制文本,即使没有此扩展的帮助,您也能轻松地利用此功能。但是,此套件非常完美地与UltraDev进行集成,为您提供方便理解的用户界面。以下三个示例将教会您如何在三种常见类型的交易中使用PayPal系统:
  • 单件物品购买使您能够在竞拍类型设置中销售单件物品。
  • 简易购物车可以让您设置在一次PayPal交易中购买多件物品。
  • 数据库驱动购物车可以让您设置一个库存系统,可以从数据库动态地管理该系统并将该系统发送到您的页面。

使用PayPal创建一个电子商务站点


使用PayPal创建一个电子商务站点很可能是最容易实施的解决方案。由于开发中可以节省时间,使其成为预算项目中一个具有吸引力的选择。当然也要折中考虑。由于所有动态购物车都在弹出窗口中进行,而不能在购物车上包含您的标识,因此没有多少自定义的空间。就是说,大多数站点不会要求一个完全自定义的用户界面,因此使用本系统可以享受极大的好处。PayPal制作的熟悉界面事实上能提升客户的信心。

这是一个扩展套件,其中有许多服务器行为,每种行为具有略微不同的功能。然而,它们还是有一些共同要素。
  • PayPal电子邮件——每个服务器行为会要求您输入用于PayPal账户的电子邮件地址。如果您要通过您的账户开展业务,那么您一定要选择企业账户。
  • 静态/动态字段——几乎每种服务器行为都使用字段,允许您从UltraDev数据绑定窗口选择物品或使用静态值。您只需要记住:使用静态值必须用双引号。5.00
  • 款项——所有货币字段必须用“xx.xx”格式。如果您从数据绑定面板为其中一个字段分配值,请确保使用的是此格式。您可以使用UltraDev的内置功能为此值分配一个格式方案。

图1:数据绑定面板分配货币格式。
  • URL字段——有些服务器行为会要求您提供一个标识URL,或在交易处理后让用户前往的地址。这些字段必须是绝对URL,这意味着必须包含http://www.yourdomain.com。
服务器行为

套件中以下服务器行为可以让您通过界面与PayPal功能连接。
  1. 单次购买行为
    当应用于图片或文本时,此服务器行为会创建一个链接,直接通往PayPal结账页面。该行为功能可以让您创建诸如“立即购买!”的链接。这在仅销售单件物品或服务的站点都用的上。
  2. 您的购物车方式
    如果您决定使用其他购物车解决方案(例如,UltraCart II),您仍然能够使用PayPal提供的服务接受您对产品的付款。您唯一需要提供的信息(PayPal ID和若干URL除外)就是订单号和总销售金额。此信息易于收集并传往简单用户界面。
  3. 添加物品到购物车行为
    这很可能是将发挥最大功效的服务器行为。“添加物品到购物车”行为非常简便地与物品数据库显示屏集成,允许客户四处购物并将物品添加到购物车。无论何时点击生成链接,一个弹出窗口会非常美观地显示您购物车中的内容。用户可以从此屏幕进入到结账区域,在此区域中用户既可以登录到他们的PayPal账户,也可以仅提供付款信息。
  4. 查看购物车行为
    与“添加物品到购物车”行为共同使用,点击查看购物车服务器行为生成的链接会弹出一个窗口,显示您购物车中的内容。您唯一需要提供的信息是您的PayPal电子邮件账号。
  5. 捐赠行为
    此服务器行为生成的链接会将用户带入一个屏幕,在其中用户可以从他们的PayPal账户付款。销售共享软件人士或者非赢利性组织可以从此方法中得益,因为此方法使您能够从您的网站接受款项而不用受特定的购买行为约束。
  6. 租用行为
    提供基于租用的内容访问权的网站将从PayPal提供的此独特服务中受益。注册租用服务的用户将收到来自PayPal的循环月度对账单。款项直接存入您的PayPal账户,每次付款您都能收到一封电子邮件,通知您用户续租。此服务器行为生成的链接会弹出一个窗口,向用户询问账单信息。

PayPal套件的实用应用程序


有两种一般的方案概括了当今网上的大多数电子商务方案。单次购买类似于竞拍模式,因为卖家只提供一件物品,此物品销售完成,交易就结束了。购物车模式包括多种物品的销售和这些物品可能有的多种副本。下面三个示例分别是:使用PayPal服务提供单件物品销售、使用PayPal购物车的购物车以及使用第三方购物车通过界面与PayPal功能连接的购物车。

我们创建了一个演示站点,站点位于http://www.codecube.net/teksales/。该指南中概括出的示例可以在演示站点中找到。


图2:teksales演示站点


“请给我一个”——单件物品销售


单次购买服务器行为用于您有一件物品要出售的时候。eBay用户一直采用这项功能为竞拍催款。如果您的站点出售的物品不止一件,其他行为将更加适合您。但对于一次性出售旧物品或收藏品,单次购买服务器行为提供了一种快捷易用的选项。

想象一下,您拥有如今最热门的摩托车,Ducati Monster S4Fogarty。忽然一辆汽车换道突然插进您所在的车道。您的生命处于千钧一发的生死关头,之后您每行驶一步就觉得心惊胆颤,您无法继续承受了。所以您决定在您的网站上把它卖了。您在Ultradev上快速设计了一下,然后张贴到您的网站上。


图3:Ducati销售站点……pre SB

您可以想象人们在您的邮箱中排队,向您邮寄这辆街头火箭的款项,可惜他们并没有这样。这可能有很多原因。可能价格太高,很多人支付不起。

使用单次购买服务器行为

使用单次购买服务器行为非常简单。您的网页设计完成后,您只需要选择页面上的对象作为购买按钮。这可以是“购买”图片,也可以是传递相同信息的一些文本。高亮显示该对象,象申请其他行为一样申请服务器行为。单次购买服务器行为可以在“PayPal > PayPal单次购买”下的服务器行为面板中找到。



图4:pp_SinglePurchase

填写服务器行为界面的字段,然后就完成了。当用户点击该行为生成的链接时,会弹出一个包含收取货款信息的窗口,然后用户就进入结账过程。您将从PayPal接收到已完成销售的确认信息,然后您就可以着手将您的摩托车装箱,存入当地邮局的容器中。


“我每样要两件”—— 简易购物车


单次购买销售在当今网络交易中占很大的比重,尤其因为在线竞拍非常流行。但是那些想使网络业务不断增长的人面临着其他的问题。他们经常登录各类物品,希望客户能从库存中购买多种物品并重复购买。

我们继续回来讨论我们卖摩托车的小伙子。您的Ducati销售使您意识到摩托车相关商品存在的巨大需求,所以您决定建立在线业务,提供此类物品。新的PayPal在线付款解决方案使您的业务蓬勃发展。您通过网站转售摩托车使您获得了可观的利润,但您并不满足,您开始销售一些与摩托车相关的补充物品,例如头盔和风镜。这个概念相当简单,但是继续使用同样的解决方案就不行了。您每周逛沃尔玛的时候,会将一罐去污剂与牛奶和鸡蛋一同放入购物车,这时,您突然意识到该怎么做了。您也需要一辆购物车。

简而言之,在线购物车可以让您的访问者在一次交易中购买多种物品。当客户浏览网站查看商品并决定购买哪种物品时,购物车通过会话变量、cookie和数据库“记住”挑选了哪些物品。当客户决定结账后,可以为所有物品一次性输入付款信息。

使用PayPal购物车

使用购物车服务器行为与单次购买行为非常相似。但由于使用了购物车行为,两者之间存在着显著的区别。首先,客户有权选择某一特定物品的数量,如两双手套或三个皮裤补丁工具箱。而且,点击购买按钮时,这一操作只是简单地向购物车添加物品,并允许客户继续购物,而不是试图立即收集付款信息。

若要在您的物品中应用服务器行为,只需高亮显示您页面上的对象或文本,然后在服务器行为面板中,从“PayPal”>“PayPal添加物品到购物车”中选择“添加到购物车服务器行为”。在您的站点上对每件物品重复进行以上操作。



创建的链接会在PayPal购物车系统上弹出一个新的窗口,显示您添加的每个物品。如果您点击同样物品两次,数量就会增加一倍。这是此情况下的一种首选方式,因为购物者购买产品时希望尽可能减少动手次数。因此,即使您让客户少点几下鼠标,他们也会很高兴,而心情高兴的客户会购买更多的物品。

与数据库驱动购物车一起使用PayPal


前述示例是非常好的学习练习,有时候您会遇到类似的情况,此时,您只需要非常基本的PayPal功能即可。但是,如果将此扩展套件与数据库驱动的库存解决方案一起使用时,它的强大功能就会体现出来。使用数据库来管理产品可能会花费更多的预先开发时间,但是维护和管理的方便使其好处在今后慢慢显现出来。如果构建正确,您的站点就像自动驾驶一样让您省心。

表结构

构建此类站点最耗时的部分就在数据库本身。实际上将数据库与PayPal购物系统相连是件相当琐碎的工作。出于在此讨论的目的,我们将使用典型的父/子——主/从数据结构。整个网络中 99% 的数据库使用此数据库结构。如果您需要有关此项目的数据库部分的帮助,您可以从网站上的许多资源中得到帮助。

对于父表中的每一行,子表都有0到多行与之对应。在电子商务网站的环境中,这意味着我们将把分类表作为主表,而产品表作为子表。可以用以下数据作为示例:

电视机类别
- Sony 20"
- RCA 19"
- Magnavox 32"

录像机类别
- Panasonic 双头
- Samsung 四头

先用以下字段定义分类表:
  • catID - autonumber
  • catName - text
您可以看到,主表通常不需要包含许多信息,因为主表只是子表中大量行的组织者。此表中可能包含其他信息包括:
  • 扩展说明
  • 分类图片
  • 显示此分类是否为当前激活的激活字段
此表可以用于列出您站点上所有物品分类的页面。然后客户就能选择分类,查看各种分类中的产品详情。

接下来,我们需要产品表。此表将包含每一单独产品的信息,因此,此表需要包括一个与“添加到购物车服务器行为”中每一个物品相对应的字段。
  • itemID - autonumber
  • catID - number
  • itemName - text
  • amount - currency
  • shipping - currency
  • handling - currency
如果您不使用某些字段(例如,不收运费和手续费),您可以为其赋值 0。

如同分类表一样,以简短为目的,我们只用尽可能少的字段。其他可能的字段包括:
  • 添加日期
  • 在售物品
  • 页面视图

图6:tekDB_relationship
两表之间关系的图形表示

一旦您建立了数据结构,请用测试数据为表赋值。以后可以用生产数据替代。首先,创建若干分类。



图7:tekDB_catTableContents

请注意任何分类仅是子产品的逻辑容器。通过将上一级分类的“catID”置于产品表中的“catID”字段,可以建立分类表和特定产品之间的关系。一个更为复杂的表结构可以创建用来处理多个分类的产品,但现在不作介绍。


图8:tekDB_ProductTableContents


显示数据

一旦数据库拥有您可以使用的数据,下一步就是将这些数据置于页面上。我们只需要两个页面进行示范:主页显示用户可以选择的所有分类,从页显示已选分类中所有的物品。

首先为用户界面创建一个 HTML 表。2 x 2尺寸的表就可以用了。第一行是一个简单的标题,显示下方列的内容;第二行是保存记录集合输出的地方。创建一个从表中选择分类名和ID的记录集合。

将分类名从数据源面板拖至第二行第一列。第二列将包含一个“查看”链接。

要创建查看链接,首先高亮显示文本并使用属性检查器浏览显示产品的页面。点击文件夹图标,您会看见您站点内现有页面的列表。选择产品页面,然后点击对话框底部旁边的“参数”按钮。在“参数”窗口中,您可以创建一个称为catID(在产品记录集合中用于过滤)的URL参数,并通过使用闪电图标选择 catID 字段以从数据库分配一个值。现在点击分类旁的查看按钮,相应的ID就会传到URL字符串的产品记录集合中,因此只有此分类中的产品会显示在从页中。一旦完成上述过程,您可以将重复区域服务器行为添加到第二行中。

现在分类页面已顺利完成,下一步是创建从页。我们知道,任何进入此页的人首先来自于分类页面,同样地,将在查询字符串中拥有catID。因此我们从创建一个拥有表中所有字段的记录集合开始,通过使用request(“catID”),根据查询字符串中的值过滤catID。


图9:tekDB_categoryRS

此表的用户界面拥有完全相同的布局(除了增加一个价格列)。将物品名拖至第一列,价格拖至第二列,然后在第三列键入“添加到购物车”。高亮显示“添加到购物车”文本,然后从服务器行为面板中选择“添加到购物车服务器行为”。用户界面的大多数字段在文本框附近有一个闪电标识。这些标识使您可以通过在“数据源”窗口中创建的记录集合,用数据库中的字段填充这些字段。为服务器行为中相应的每件物品从数据库中选择一个字段。完成之后,您可以将一个重复域添加到第二行。当产品在程序运行时填充至数据库页面时,每个“添加到购物车”实例都会附带适当的信息。每件点击购买的物品将使用您输入的信息更新购物车。现在,无需编辑您的HTML页面,即可在数据库中对物品进行维护。


图10:tekDB_Addtocart

全部到此结束。客户现在可以浏览您的物品分类,选择他们想要购买的物品然后完成交易。快速应用程序开发是使得PayPal套件成为优秀电子商务工具的重要原因之一。其他购物车系统花费大量开发时间,却无法解决收取货款的问题。通过使用Dreamweaver UltraDev 和PayPal扩展套件,此演示在大约一个小时内完成创建。

本文是新书《UltraDev 电子商务概念:下一步》中的节选,本书由Ray West、Tom Muck和Joel Martinez共同编写。如需了解有关UltraDev和电子商务的更多信息,请到www.basic-ultradev.com访问Basic UltraDev。在那里,您将找到关于我们的书籍、教程和函授的信息,将大大提高您的网络开发能力。

免责声明:上述内容不是由PayPal或其任何合作伙伴、子公司提供的,而是由每篇文章各自的作者提供的。这些文章中可能包含错误,PayPal对其中的内容不担保也不提供支持。PayPal建议您如有疑问,或者想了解有关技术支持、保证和(或)许可使用的信息,请与文章的作者直接联系。如果您信赖这些文章的内容,风险则由您自担。就您相信此内容而导致的任何错误、伤害或者其他损坏(包括任何偶然的、特殊的、间接的或者伴生的损坏),PayPal不负任何责任。就此内容以及此内容的使用,PayPal明确声明不做任何担保。