<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>小杜学习笔记 &#187; 二次开发</title>
	<atom:link href="http://tinydoo.cn/tag/%e4%ba%8c%e6%ac%a1%e5%bc%80%e5%8f%91/feed" rel="self" type="application/rss+xml" />
	<link>http://tinydoo.cn</link>
	<description>记录生活学习点滴</description>
	<lastBuildDate>Thu, 10 Dec 2009 14:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>[转载]wordpress插件开发全攻略</title>
		<link>http://tinydoo.cn/2008/246.html</link>
		<comments>http://tinydoo.cn/2008/246.html#comments</comments>
		<pubDate>Fri, 28 Nov 2008 06:26:17 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[二次开发]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=246</guid>
		<description><![CDATA[原帖地址 http://www.charlestang.cn/how-to-write-a-wp-plugin-contents.htm

How to Write a WordPress Plugin &#8211; Introduction
介绍
<span class="readmore"><a href="http://tinydoo.cn/2008/246.html" title="[转载]wordpress插件开发全攻略" target="_blank">阅读全文——共683字</a></span>]]></description>
			<content:encoded><![CDATA[<div>原帖地址 http://www.charlestang.cn/how-to-write-a-wp-plugin-contents.htm</div>
<ol>
<li><a href="http://www.devlounge.net/articles/how-to-write-a-wordpress-plugin-introduction">How to Write a WordPress Plugin &#8211; Introduction</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-01.htm">介绍</a></li>
<li><a href="http://www.devlounge.net/articles/seven-reasons-to-write-a-wordpress-plugin">Seven Reasons to Write a WordPress Plugin</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-02.htm">编写插件的七个理由</a></li>
<li><a href="http://www.devlounge.net/articles/how-to-get-ideas-for-wordpress-plugins">How to Get Ideas for WordPress Plugins</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-03.htm">怎样获得WordPress插件的创意</a></li>
<li><a href="http://www.devlounge.net/articles/structure-of-a-wordpress-plugin">Structure of a WordPress Plugin</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-04.htm">WordPress插件的结构</a></li>
<li><a href="http://www.devlounge.net/articles/wordpress-plugin-actions">WordPress Plugin Actions</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-05.htm">WordPress 插件Actions</a></li>
<li><a href="http://www.devlounge.net/articles/wordpress-plugin-filters">WordPress Plugin Filters</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-06.htm">WordPress插件Filter</a></li>
<li><a href="http://www.devlounge.net/articles/constructing-an-wordpress-plugin-admin-panel">Constructing a WordPress Plugin Admin Panel</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-07.htm">构造一个WordPress插件管理员面板</a></li>
<li><a href="http://www.devlounge.net/articles/constructing-a-wordpress-plugin-users-panel">Constructing a WordPress Plugin User’s Panel</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-08.htm">构建一个WordPress插件用户面板</a></li>
<li><a href="http://www.devlounge.net/articles/wordpress-plugins-and-database-interaction">WordPress Plugins and Database Interaction</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-09.htm">WordPress插件和数据库交互</a></li>
<li><a href="http://www.devlounge.net/articles/using-javascript-and-css-with-your-wordpress-plugin">Using JavaScript and CSS with your WordPress Plugin</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-10.htm">在你的WordPress插件中使用Javascript和CSS</a></li>
<li><a href="http://www.devlounge.net/articles/using-ajax-with-your-wordpress-plugin">Using AJAX with your WordPress Plugin</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-11.htm">在你的WP插件中使用AJAX</a></li>
<li><a href="http://www.devlounge.net/articles/releasing-and-promoting-your-wordpress-plugin">Releasing and Promoting Your WordPress Plugin</a></li>
<li><a href="http://www.charlestang.cn/how-to-write-a-wp-plugin-12.htm">发布并推广你的WordPress插件</a></li>
</ol>
<p>原来的目录页面在：<a href="http://www.devlounge.net/extras/how-to-write-a-wordpress-plugin">这里</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2008/246.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>给ecshop留言本增加审核功能</title>
		<link>http://tinydoo.cn/2008/218.html</link>
		<comments>http://tinydoo.cn/2008/218.html#comments</comments>
		<pubDate>Wed, 26 Nov 2008 05:38:01 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[ECSHOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[二次开发]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/blog/?p=218</guid>
		<description><![CDATA[原帖发表于ECshop官方论坛 http://bbs.ecshop.com/thread-69730-1-1.html
新版ECshop(V2.61)增加了留言板功能，这个是很有用的，但是在论坛上看到有朋友说，需要审核功能 ，而官方没有给出，就去看了看这个新版的留言本功能.
留言本前台程序是message.php , 后台仍然在会员管理-会员留言 菜单下。数据表在ecs_feedback，控制留言是否显示的字段为msg_area
程序十分简单，留言默认提交时 msg_area为1，所以就直接显示了，增加审核功能，无非就是在提交时候将msg_area设置为0，在后台管理处增加审核按钮，执行一个将该字段设置为1的动作即可
<span class="readmore"><a href="http://tinydoo.cn/2008/218.html" title="给ecshop留言本增加审核功能" target="_blank">阅读全文——共942字</a></span>]]></description>
			<content:encoded><![CDATA[<p>原帖发表于ECshop官方论坛 http://bbs.ecshop.com/thread-69730-1-1.html</p>
<p>新版ECshop(V2.61)增加了留言板功能，这个是很有用的，但是在论坛上看到有朋友说，需要审核功能 ，而官方没有给出，就去看了看这个新版的留言本功能.<br />
留言本前台程序是message.php , 后台仍然在会员管理-会员留言 菜单下。数据表在ecs_feedback，控制留言是否显示的字段为msg_area<br />
程序十分简单，留言默认提交时 msg_area为1，所以就直接显示了，增加审核功能，无非就是在提交时候将msg_area设置为0，在后台管理处增加审核按钮，执行一个将该字段设置为1的动作即可<br />
1- 打开message.php,找到79行 ‘msg_area’    =&gt; 1 将其修改为  ‘msg_area’    =&gt; 0<br />
2- 打开admin/user_msg.php ，在适当的位置添加如代码：<br />
<code lang="php"><br />
if ($_REQUEST['act']==’checked’)<br />
{<br />
/* 权限判断 */<br />
admin_priv(’feedback_priv’);<br />
$id = empty($_GET['id']) ? 0 : intval($_GET['id']);<br />
$sql = ‘UPDATE’. $ecs->table(’feedback’).’ SET msg_area =1 WHERE  msg_id =’.$id;<br />
$db->query($sql);</p>
<p>/* 返回列表 */<br />
$link[] = array(’text’ => $_LANG['go_back'], ‘href’ =>‘javascript:history.back(-1)’);<br />
sys_msg($_LANG['attradd_succed'], 0, $link);<br />
//    ecs_header(”Location: user_msg.php?act=list_all\n”);<br />
exit;<br />
}</code><br />
3- 修改模板文件 admin/templates/msg_list.htm, 在<br />
<code lang="HTML"><br />
<a title="”{$lang.remove}”" onclick="”listTable.remove({$msg.msg_id}," href="”javascript:;”"><br />
<img src="”images/icon_drop.gif”" border="”0″" alt="" width="”16″" height="”16″" /><br />
</a><br />
</code><br />
之后增加代码<br />
<code lang="HTML"><br />
<a href="”user_msg.php?act=checked&amp;id={$msg.msg_id}”"><br />
<img src="”images/icon_priv.gif”" border="”0″" alt="" width="”16″" height="”16″" /><br />
</a><br />
</code><br />
好了，审核功能就实现了。<br />
其实这个功能非常的简单，之所以写下来，是想表达一个想法：不管需求大小，对于真正需要它的人，都是重要的。<br />
其实每个ECshop的功能扩展，都是这样的步骤，希望大家都能来感受一下亲手DIY的乐趣 ，这也是我非常喜欢EC的原因</p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2008/218.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ecshop的模板标签</title>
		<link>http://tinydoo.cn/2008/20.html</link>
		<comments>http://tinydoo.cn/2008/20.html#comments</comments>
		<pubDate>Wed, 22 Oct 2008 04:46:24 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[ECSHOP]]></category>
		<category><![CDATA[二次开发]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/blog/?p=20</guid>
		<description><![CDATA[Ecshop的模板标签
经常在ec的论坛看到要求官方发布EC模板标签列表的呼声，甚至有热心网友也在整理一些标签列表
其实我知道，很多希望制作模板的人，就是因为对标签的不熟悉，无法下手
今天我就来说一说，官方为什么不能给这个列表，以及教会你怎么掌握EC的模板机制，通过这篇文章，你就不再需要官方发布什么&#8221;标签列表&#8221;就能随心所欲的使用EC的标签，制作你的模板了！
<span class="readmore"><a href="http://tinydoo.cn/2008/20.html" title="Ecshop的模板标签" target="_blank">阅读全文——共651字</a></span>]]></description>
			<content:encoded><![CDATA[<h2>Ecshop的模板标签</h2>
<div id="postmessage_185" class="t_msgfont">经常在ec的论坛看到要求官方发布EC模板标签列表的呼声，甚至有热心网友也在整理一些标签列表<br />
其实我知道，很多希望制作模板的人，就是因为对标签的不熟悉，无法下手<br />
今天我就来说一说，官方为什么不能给这个列表，以及教会你怎么掌握EC的模板机制，通过这篇文章，你就不再需要官方发布什么&#8221;标签列表&#8221;就能随心所欲的使用EC的标签，制作你的模板了！<br />
通过一个小例子来解释一下EC模板运行的大致原理。比如登录用户中心我们看到的第一句话:“admin,欢迎你回到ecshop”。<br />
先来看一下EC的模板是怎么做的，代码如下： </p>
<div class="blockcode"><em>复制内容到剪贴板</em> </p>
<h5>代码:</h5>
<p><code id="code0">  <br />
    &lt;h3 style="margin:0px;color:#555;"&gt; {$info.username} {$lang.welcome_to} {$info.shop_name}！&lt;/h3&gt;</code></div>
<p>这里的标签{$info.username} 是怎么来的呢？</p>
<p>简单说一下EC模板工作原理：<br />
假设在new.php文件里有这样一段代码</p>
<div class="blockcode"><em>复制内容到剪贴板</em> </p>
<h5>代码:</h5>
<p><code id="code1">    $username = "xiaodu";<br />
    $smarty-&gt;assign('myname',   $username);<br />
    $smarty-&gt;display('new.htm');</code></div>
<p>那么我们在设计new.htm的时候就可以使用{$myname}这个标签了，运行new.php将显示：xiaodu</p>
<p>PHP程序就是这样和模板挂起钩的，这样大家就应该明白为什么没有所谓的 标签列表 了吧。你可以任意的定义任何你想要的变量到你的模板！</p></div>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2008/20.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ECshop订单操作权限的开发</title>
		<link>http://tinydoo.cn/2008/7.html</link>
		<comments>http://tinydoo.cn/2008/7.html#comments</comments>
		<pubDate>Mon, 13 Oct 2008 02:46:15 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[ECSHOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[二次开发]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/blog/?p=7</guid>
		<description><![CDATA[&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
作者：xiaodu
发表： 2008-9-21
网站： http://www.eblhost.cn/forum/viewthread.php?tid=18
<span class="readmore"><a href="http://tinydoo.cn/2008/7.html" title="ECshop订单操作权限的开发" target="_blank">阅读全文——共2908字</a></span>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Arial;"><span>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
作者：xiaodu</span></span></p>
<p align="left"><span style="font-family: Helvetica;"><span>发表： 2008-9-21</span></span></p>
<p><span style="font-family: Arial;"><span>网站： </span></span><a href="http://www.eblhost.cn/forum/viewthread.php?tid=18&amp;extra=page%3D1" target="_blank">http://www.eblhost.cn/forum/viewthread.php?tid=18</a><span style="font-family: Arial;"><span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></span></p>
<p align="left"><span style="font-family: Helvetica;"><span>ECshop是当前最流行的电子<span class="t_tag" onclick="tagshow(event)">商城</span>软件，而且由于完全开源，对于我们二次开发出符合我们自身特点的<span class="t_tag" onclick="tagshow(event)">系统</span>，非常有利。下面就以一个简单的实例，<span class="t_tag" onclick="tagshow(event)">描述</span>一次关于订单操作权限的添加过程。</span></span></p>
<p>一 基础知识</p>
<p>首先我们需要了解以下一些基本的知识：<br />
1.ECshop的所有可用权限<span class="t_tag" onclick="tagshow(event)">列表</span>存储在<span class="t_tag" onclick="tagshow(event)">数据库</span>’ecs_admin_action’表中<br />
2.权限判断通过admin_priv函数实现<br />
3.<span class="t_tag" onclick="tagshow(event)">管理员</span>的权限<span class="t_tag" onclick="tagshow(event)">设置</span>可以通过<span class="t_tag" onclick="tagshow(event)">后台</span>编辑<span class="t_tag" onclick="tagshow(event)">管理</span>员信息来分配</p>
<p>二 权限详解</p>
<p>1、<span class="t_tag" onclick="tagshow(event)">商品</span>管理，共有9个权限项目，以下分别是：<br />
goods_manage,商品添加/编辑<br />
remove_back,商品<span class="t_tag" onclick="tagshow(event)">删除</span>/恢复<br />
cat_manage,<span class="t_tag" onclick="tagshow(event)">分类</span>添加/编辑<br />
cat_drop,分类转移/删除<br />
attr_manage,商品<span class="t_tag" onclick="tagshow(event)">属性</span>管理<br />
brand_manage,商品品牌管理<br />
comment_priv,<span class="t_tag" onclick="tagshow(event)">用户</span><span class="t_tag" onclick="tagshow(event)">评论</span>管理<br />
tag_manage,标签管理<br />
goods_type,商品类型</p>
<p>2、文章管理，共有6个权限项目，以下分别是：<br />
article_cat,文章分类管理<br />
article_manage,文章内容管理<br />
shopinfo_manage,<span class="t_tag" onclick="tagshow(event)">网店</span>信息管理<br />
shophelp_manage,网店帮助管理<br />
vote_priv,<span class="t_tag" onclick="tagshow(event)">在线</span>调查管理<br />
topic_manage,专题管理</p>
<p>3、<span class="t_tag" onclick="tagshow(event)">会员</span>管理，共有8个权限项目，以下分别是：<br />
feedback_priv,会员<span class="t_tag" onclick="tagshow(event)">留言</span>管理<br />
integrate_users,会员<span class="t_tag" onclick="tagshow(event)">数据</span>整合<br />
sync_users,同步会员数据<br />
users_manage,会员管理<br />
users_drop,会员删除<br />
user_rank,会员<span class="t_tag" onclick="tagshow(event)">等级</span>管理<br />
surplus_manage,会员余额管理<br />
account_manage,会员账户管理</p>
<p>4、权限管理，共有7个权限项目，以下分别是：</p>
<p>template_manage,<span class="t_tag" onclick="tagshow(event)">模板</span>管理<br />
admin_manage,管理员添加/编辑<br />
admin_drop,删除管理员<br />
allot_priv,分派权限<br />
logs_manage,管理日志列表<br />
logs_drop,删除管理日志<br />
agency_manage,办事处管理</p>
<p>5、系统设置，共有9个权限项目，以下分别是：<br />
shop_config,商店设置<br />
ship_manage, <span class="t_tag" onclick="tagshow(event)">配送</span>方式管理<br />
payment,<span class="t_tag" onclick="tagshow(event)">支付</span>方式管理<br />
shiparea_manage,配送区域管理<br />
area_manage,地区列表管理<br />
friendlink,友情<span class="t_tag" onclick="tagshow(event)">链接</span>管理<br />
db_backup,数据库备份<br />
db_renew,数据库恢复<br />
<span class="t_tag" onclick="tagshow(event)">flash</span>_manage，Flash 播放器管理</p>
<p>6、订单管理，共有10个权限项目，以下分别是：<br />
order_os_edit,编辑订单状态<br />
order_ps_edit,编辑<span class="t_tag" onclick="tagshow(event)">付款</span>状态<br />
order_ss_edit,编辑<span class="t_tag" onclick="tagshow(event)">发货</span>状态<br />
order_edit,添加编辑订单<br />
order_view,查看未完成订单<br />
order_view_finished,查看已完成订单<br />
repay_manage,退款申请管理<br />
booking,缺货登记管理<br />
sale_order_stats,订单销售统计<br />
client_flow_stats,客户流量统计<br />
7、促销管理，共有6个权限项目，以下分别是：<br />
snatch_manage,夺宝奇兵<br />
ad_manage,<span class="t_tag" onclick="tagshow(event)">广告</span>管理<br />
gift_manage,赠品管理<br />
card_manage,祝福贺卡<br />
pack,商品包装<br />
bonus_manage,红包管理</p>
<p>三 订单操作权限的开发</p>
<p>上面提到的权限列表是我们比较常用的一些，我们具体来看下针对订单操作权限，主要是</p>
<p>order_os_edit,编辑订单状态<br />
order_ps_edit,编辑付款状态<br />
order_ss_edit,编辑发货状态<br />
order_edit,添加编辑订单<br />
order_view,查看未完成订单</p>
<p>假如我们某一个管理员需要”PDF打印订单”权限，(假设”PDF打印”<span class="t_tag" onclick="tagshow(event)">功能</span>已经实现），我们来看以下具体的操作步骤</p>
<p>1.首先在数据库ecs_admin_action中插入一行code为”pdf_manage”，parents_id为6(sql语句）</p>
<p>2.在language/admin/priv_action.php中找到”//订单管理部分权限”，在下面新加一行<br />
$_LANG['pdf_manage'] = ‘PDF打印管理’;<br />
3.在后台编辑某管理员权限<span class="t_tag" onclick="tagshow(event)">页面</span>，我们可以看到这个选项，分配给他。</p>
<p>当然这个时候该管理员还没有真正拥有这个权限。打开admin/order.php <span class="t_tag" onclick="tagshow(event)">搜索</span>$priv_list(大概在2950行)<br />
修改<span class="t_tag" onclick="tagshow(event)">代码</span>为以下部分:</p>
<p>/* 取得订单操作权限 */<br />
$actions = $_SESSION['action_list'];<br />
if ($actions == ‘all’)<br />
{<br />
$priv_list  = array(’os’ =&gt; true, ’ss’ =&gt; true, ‘ps’ =&gt; true, ‘edit’ =&gt; true,‘pdf_manage’=&gt;true);<br />
//如果是拥有所有权限(比如admin)，分配他PDF打印权限，当然如果你希望是特定的某一个人，这行可以不加<br />
}<br />
else<br />
{<br />
$actions    = ‘,’ . $actions . ‘,’;<br />
$priv_list  = array(<br />
‘os’    =&gt; strpos($actions, ‘,order_os_edit,’) !== false,<br />
’ss’    =&gt; strpos($actions, ‘,order_ss_edit,’) !== false,<br />
‘ps’    =&gt; strpos($actions, ‘,order_ps_edit,’) !== false,<br />
‘edit’  =&gt; strpos($actions, ‘,order_edit,’) !== false,<br />
‘pdf_manage’  =&gt; strpos($actions, ‘,pdf_manage,’) !== false</p>
<p>);<br />
}<br />
if ($priv_list['pdf_manage'])<br />
{<br />
$list['pdf_manage']    = true; // 确认<br />
}<br />
最后，在模板admin/templates/order_info.htm中找到合适的位置添加如下代码：<br />
{if $operable_list.pdf_manage}<br />
&lt;input name=”pdf_creat” type=”submit” value=”{$lang.pdf_creat}” class=”button” /&gt;<br />
{/if}<br />
好了一次简单的”订单操作权限”扩展功能就完成，接下来该做什么了呢？呵呵，还不是该去喝口茶的时候<br />
测试–花费更多的<span class="t_tag" onclick="tagshow(event)">时间</span>测试以保证你所做的一切是可用的。这个更重要~</p>
<p align="left">
<p align="left"><span style="font-family: Helvetica;"><span>(注：以上代码均以ECshop当前最新版本2.60为基础）</span></span></p>
<div style="text-align: -webkit-left;"><span><br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2008/7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
