小杜学习笔记

记录生活学习点滴

正在浏览标签为 二次开发 的文章

原帖地址 http://www.charlestang.cn/how-to-write-a-wp-plugin-contents.htm
  1. How to Write a WordPress Plugin – Introduction
  2. 介绍
  3. Seven Reasons to Write a WordPress Plugin
  4. 编写插件的七个理由
  5. How to Get Ideas for Wordpress Plugins
  6. 怎样获得WordPress插件的创意
  7. Structure of a Wordpress Plugin
  8. WordPress插件的结构
  9. WordPress Plugin Actions
  10. WordPress 插件Actions
  11. WordPress Plugin Filters
  12. WordPress插件Filter
  13. Constructing a WordPress Plugin Admin Panel
  14. 构造一个WordPress插件管理员面板
  15. Constructing a WordPress Plugin User’s Panel
  16. 构建一个WordPress插件用户面板
  17. WordPress Plugins and Database Interaction
  18. WordPress插件和数据库交互
  19. Using JavaScript and CSS with your WordPress Plugin
  20. 在你的WordPress插件中使用Javascript和CSS
  21. Using AJAX with your WordPress Plugin
  22. 在你的WP插件中使用AJAX
  23. Releasing and Promoting Your WordPress Plugin
  24. 发布并推广你的WordPress插件

原来的目录页面在:这里

原帖发表于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的动作即可
1- 打开message.php,找到79行 ‘msg_area’ => 1 将其修改为 ‘msg_area’ => 0
2- 打开admin/user_msg.php ,在适当的位置添加如代码:

if ($_REQUEST['act']==’checked’)
{
/* 权限判断 */
admin_priv(’feedback_priv’);
$id = empty($_GET['id']) ? 0 : intval($_GET['id']);
$sql = ‘UPDATE’. $ecs->table(’feedback’).’ SET msg_area =1 WHERE msg_id =’.$id;
$db->query($sql);

/* 返回列表 */
$link[] = array(’text’ => $_LANG['go_back'], ‘href’ =>‘javascript:history.back(-1)’);
sys_msg($_LANG['attradd_succed'], 0, $link);
// ecs_header(”Location: user_msg.php?act=list_all\n”);
exit;
}

3- 修改模板文件 admin/templates/msg_list.htm, 在





之后增加代码





好了,审核功能就实现了。
其实这个功能非常的简单,之所以写下来,是想表达一个想法:不管需求大小,对于真正需要它的人,都是重要的。
其实每个ECshop的功能扩展,都是这样的步骤,希望大家都能来感受一下亲手DIY的乐趣 ,这也是我非常喜欢EC的原因

Ecshop的模板标签

经常在ec的论坛看到要求官方发布EC模板标签列表的呼声,甚至有热心网友也在整理一些标签列表
其实我知道,很多希望制作模板的人,就是因为对标签的不熟悉,无法下手
今天我就来说一说,官方为什么不能给这个列表,以及教会你怎么掌握EC的模板机制,通过这篇文章,你就不再需要官方发布什么”标签列表”就能随心所欲的使用EC的标签,制作你的模板了!
通过一个小例子来解释一下EC模板运行的大致原理。比如登录用户中心我们看到的第一句话:“admin,欢迎你回到ecshop”。
先来看一下EC的模板是怎么做的,代码如下: 

复制内容到剪贴板 

代码:

  
    <h3 style="margin:0px;color:#555;"> {$info.username} {$lang.welcome_to} {$info.shop_name}!</h3>

这里的标签{$info.username} 是怎么来的呢?

简单说一下EC模板工作原理:
假设在new.php文件里有这样一段代码

复制内容到剪贴板 

代码:

    $username = "xiaodu";
    $smarty->assign('myname',   $username);
    $smarty->display('new.htm');

那么我们在设计new.htm的时候就可以使用{$myname}这个标签了,运行new.php将显示:xiaodu

PHP程序就是这样和模板挂起钩的,这样大家就应该明白为什么没有所谓的 标签列表 了吧。你可以任意的定义任何你想要的变量到你的模板!

————————————————————————————–
作者:xiaodu

发表: 2008-9-21

网站: http://www.eblhost.cn/forum/viewthread.php?tid=18
————————————————————————————–

ECshop是当前最流行的电子商城软件,而且由于完全开源,对于我们二次开发出符合我们自身特点的系统,非常有利。下面就以一个简单的实例,描述一次关于订单操作权限的添加过程。

一 基础知识

首先我们需要了解以下一些基本的知识:
1.ECshop的所有可用权限列表存储在数据库’ecs_admin_action’表中
2.权限判断通过admin_priv函数实现
3.管理员的权限设置可以通过后台编辑管理员信息来分配

二 权限详解

1、商品管理,共有9个权限项目,以下分别是:
goods_manage,商品添加/编辑
remove_back,商品删除/恢复
cat_manage,分类添加/编辑
cat_drop,分类转移/删除
attr_manage,商品属性管理
brand_manage,商品品牌管理
comment_priv,用户评论管理
tag_manage,标签管理
goods_type,商品类型

2、文章管理,共有6个权限项目,以下分别是:
article_cat,文章分类管理
article_manage,文章内容管理
shopinfo_manage,网店信息管理
shophelp_manage,网店帮助管理
vote_priv,在线调查管理
topic_manage,专题管理

3、会员管理,共有8个权限项目,以下分别是:
feedback_priv,会员留言管理
integrate_users,会员数据整合
sync_users,同步会员数据
users_manage,会员管理
users_drop,会员删除
user_rank,会员等级管理
surplus_manage,会员余额管理
account_manage,会员账户管理

4、权限管理,共有7个权限项目,以下分别是:

template_manage,模板管理
admin_manage,管理员添加/编辑
admin_drop,删除管理员
allot_priv,分派权限
logs_manage,管理日志列表
logs_drop,删除管理日志
agency_manage,办事处管理

5、系统设置,共有9个权限项目,以下分别是:
shop_config,商店设置
ship_manage, 配送方式管理
payment,支付方式管理
shiparea_manage,配送区域管理
area_manage,地区列表管理
friendlink,友情链接管理
db_backup,数据库备份
db_renew,数据库恢复
flash_manage,Flash 播放器管理

6、订单管理,共有10个权限项目,以下分别是:
order_os_edit,编辑订单状态
order_ps_edit,编辑付款状态
order_ss_edit,编辑发货状态
order_edit,添加编辑订单
order_view,查看未完成订单
order_view_finished,查看已完成订单
repay_manage,退款申请管理
booking,缺货登记管理
sale_order_stats,订单销售统计
client_flow_stats,客户流量统计
7、促销管理,共有6个权限项目,以下分别是:
snatch_manage,夺宝奇兵
ad_manage,广告管理
gift_manage,赠品管理
card_manage,祝福贺卡
pack,商品包装
bonus_manage,红包管理

三 订单操作权限的开发

上面提到的权限列表是我们比较常用的一些,我们具体来看下针对订单操作权限,主要是

order_os_edit,编辑订单状态
order_ps_edit,编辑付款状态
order_ss_edit,编辑发货状态
order_edit,添加编辑订单
order_view,查看未完成订单

假如我们某一个管理员需要”PDF打印订单”权限,(假设”PDF打印”功能已经实现),我们来看以下具体的操作步骤

1.首先在数据库ecs_admin_action中插入一行code为”pdf_manage”,parents_id为6(sql语句)

2.在language/admin/priv_action.php中找到”//订单管理部分权限”,在下面新加一行
$_LANG['pdf_manage'] = ‘PDF打印管理’;
3.在后台编辑某管理员权限页面,我们可以看到这个选项,分配给他。

当然这个时候该管理员还没有真正拥有这个权限。打开admin/order.php 搜索$priv_list(大概在2950行)
修改代码为以下部分:

/* 取得订单操作权限 */
$actions = $_SESSION['action_list'];
if ($actions == ‘all’)
{
$priv_list  = array(’os’ => true, ’ss’ => true, ‘ps’ => true, ‘edit’ => true,‘pdf_manage’=>true);
//如果是拥有所有权限(比如admin),分配他PDF打印权限,当然如果你希望是特定的某一个人,这行可以不加
}
else
{
$actions    = ‘,’ . $actions . ‘,’;
$priv_list  = array(
‘os’    => strpos($actions, ‘,order_os_edit,’) !== false,
’ss’    => strpos($actions, ‘,order_ss_edit,’) !== false,
‘ps’    => strpos($actions, ‘,order_ps_edit,’) !== false,
‘edit’  => strpos($actions, ‘,order_edit,’) !== false,
‘pdf_manage’  => strpos($actions, ‘,pdf_manage,’) !== false

);
}
if ($priv_list['pdf_manage'])
{
$list['pdf_manage']    = true; // 确认
}
最后,在模板admin/templates/order_info.htm中找到合适的位置添加如下代码:
{if $operable_list.pdf_manage}
<input name=”pdf_creat” type=”submit” value=”{$lang.pdf_creat}” class=”button” />
{/if}
好了一次简单的”订单操作权限”扩展功能就完成,接下来该做什么了呢?呵呵,还不是该去喝口茶的时候
测试–花费更多的时间测试以保证你所做的一切是可用的。这个更重要~

(注:以上代码均以ECshop当前最新版本2.60为基础)