如何为我的网站构建一个小部件

时间:2010-06-01 01:25:03

标签: zend-framework widget

我对整个编程都很陌生 - 到目前为止,我只有建立网站,数据库等方面的经验。

我目前有一个用户可以分享在线购物的网站。

我想构建一个其他网站可以在其网站上集成的小部件。小部件将显示最近在我的网站上输入的购买内容,用户应该可以直接通过此小部件插入购买,而无需访问我的网站。

我的网站使用Zend Framework构建在PHP上,并使用Mysql后端。

我正在与之交谈的一些网站同意添加小部件,如果它不突兀,如果他们只需要在他们的页面插入4行javascript代码。我假设这应该像谷歌的adsense代码一样,你输入谷歌的JavaScript代码,广告开始显示。

这个想法,但我不知道如何去做 - 有人能指出我正确的方向。有关如何执行此操作的任何示例或教程。

Google Adsense代码示例

<script type='text/javascript'> --></script><script type="text/javascript"><!--
google_ad_client = "pub-06xxxx453614";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel = "3407467430";
google_color_border = "38B63C";
google_color_bg = "FFFFFF";
google_color_link = "0066CC";
google_color_text = "000000";
google_color_url = "0066CC";
google_ui_features = "rc:0";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

这也是一种小部件形式 - 如何在这里使用Javascript? 感谢

4 个答案:

答案 0 :(得分:7)

我不是widget领域的专家,但'方向'是使用在托管小部件的页面中动态生成的iframe。

那就是你的JS代码会写出类似的东西:

<iframe src="http://www.mywebsite.com/services/widget.php" {other attributes here} />

iframe通常包含在标记(html)中,用于处理托管页面中窗口小部件的显示。您的javascript文件可以包含处理程序(绑定到窗口小部件上的事件等)。

iframe的目标可以是.php(或其他)脚本,它将输出您网站上的html或其他内容。输出可以包含来自数据库的信息/数据(如您所说的Mysql),并对该数据执行任何操作。

这是一种在几种情况下使用的方法(iframe)。在涉及iframe和框架的情况下编写JS代码之前,请确保熟悉术语窗口,javascript中的parent(通常如何处理页面包含框架的情况,而框架可以包含其他框架等)

希望通过为您提供有关此主题的一般概念/方法,可以帮助您。

我相信您已经听说过谷歌广告。在谷歌广告页面上清楚地解释了在网页中包含谷歌广告的方式。您只需添加一个脚本和一些代码,然后生成以下html:

<iframe allowtransparency="true" frameborder="0" height="100" hspace="0" id="google_ads_frame1" marginheight="0" marginwidth="0" name="google_ads_frame" scrolling="no" src="http://googleads.g.doubleclick.net/pagead/ads?client="{PARAMS}" style="left:0;position:absolute;top:0" vspace="0" width="900"></iframe>

此框架的内容是实际广告(您在网页上看到的广告链接)。

iframe代码不是唯一一个从页面上的google ads javascript生成的代码。还创建了其他标签(html)来处理与演示相关的问题。

答案 1 :(得分:2)

例如,您希望在合作伙伴网站上显示网站上存储的网站状态。

以下是一个简单的如何:

1.在您的网站上创建小部件脚本,例如:http://yourwebsite.com/widget1.php?data=value&date2=value2

2.在该剧本中,填写类似:

<?php
$data=get_xss_free($_GET['data']);
$data2=get_xss_free($_GET['data2']);
//do your process here
//then, display it:
echo "<div>This is my widget data!</div>";
?>

3.告诉你的伴侣这样嵌入它:

<iframe src="http://yourwebsite.com/widget1.php?data=value&date2=value2"></iframe>

答案 2 :(得分:0)

有很多方法可以做到这一点。 andreas的例子很好。它也可以以某种格式(如JSON或XML)公开您想要的数据,然后使“小部件”变得有点Javascript包含将根据某些首选项呈现此内容。您可以从twitter search widget开始的(有些)简单示例。

祝你好运!

答案 3 :(得分:0)

也许您可以使用PHP GD library来动态创建图像。这样,您的用户只需在其网站上包含这样的图像标记:

<img src="http://www.yourwebsite.com/widget.php?user={USERNAME}" width="500" height="250" alt="Your Widget" />

然后在您的widget.php文件中,您拥有使用此数据并呈现图像的所有数据库逻辑等。 Facebook使用类似的方法称为“个人资料徽章”,并且可以通过类似的方式访问:http://www.facebook.com/badge.php?id={ID}&format=png&params={OTHERPARAMS}

但请注意,动态创建图像可能不是解决此问题的最简单方法,已发布的iframe解决方案看起来非常好,并且肯定会更容易创建。