文档章节

海盗插件 开发教程

陈孟
 陈孟
发布于 2017/03/21 11:01
字数 1041
阅读 40
收藏 0

开发需知

  • 插件图标为插件根目录下与插件同名的png图片文件.

配置文件

config.xml

<?xml version="_1.0" encoding="UTF-8"?>
<root>
	<item id="name"><![CDATA[名称]]></item>
	<item id="server_version"><![CDATA[[免费/收费]]></item>
	<item id="type"><![CDATA[plugin/module/template]]></item>
	<item id="identifier"><![CDATA[标识]]></item>
	<item id="description"><![CDATA[简介]]></item>
	<item id="copyright"><![CDATA[版权所有者名称]]></item>
	<item id="sort"><![CDATA[排序]]></item>
        <!-- 如果需要则添加系统菜单字段 -->
	<item id="menu">
		<item id="0">
			<item id="displayorder"><![CDATA[显示排序]]></item>
                        <!-- 根目录:1-全局.2-商品.3-订单.4-会员.5-运营.6-站点.7-统计.8-云平台 -->
			<item id="type"><![CDATA[更目录]]></item>
			<item id="name"><![CDATA[链接标识]]></item>
			<item id="menu"><![CDATA[显示名称]]></item>
                        <!-- 自定义管理模板:1-自定义.0-通过系统设计 -->
			<item id="setting"><![CDATA[1]]></item>
		</item>
	</item>
	<item id="version"><![CDATA[版本号]]></item>
	<item id="author"><![CDATA[作者名称]]></item>
	<item id="apply_version">
		<item id="develop"><![CDATA[最低兼容开发版本号]]></item>
		<item id="stable"><![CDATA[最低兼容稳定版本号]]></item>
	</item>
	<item id="installfile"><![CDATA[install.php]]></item>
	<item id="installsql"><![CDATA[install.sql]]></item>
	<item id="uninstallsql"><![CDATA[uninstall.sql]]></item>
	<item id="uninstallfile"><![CDATA[uninstall.php]]></item>
</root>

使用钩子

hooks/hook.class.php

<?php
// 继承自plugin类,可使用$this
class plugin_appname_hook extends plugin
{
    // 根据业务调用不同的钩子 完成应用功能。
}

注册钩子

inculde/hook.inc.php

<?php 
return array(
    // 注册应用中使用到的钩子。
	'hookname' => 'hook',
);

管理模板

template/index.php

<?php include template('header', 'admin'); ?>
<!--管理 插件导航-->
<div class="fixed-nav layout">
    <ul>
        <li class="first">插件名称<a id="addHome" title="添加到首页快捷菜单">[+]</a></li>
        <li class="spacer-gray"></li>
        <!--这里可以遍历插件的菜单 注意选中样式-->
        <li><a class="labelbox current" href="">插件菜单</a></li>
    </ul>
    <div class="hr-gray"></div>
</div>
<div class="content padding-big have-fixed-nav">
<!--管理 插件提示-->
<div class="tips margin-tb">
    <div class="tips-info border">
        <h6>温馨提示</h6>
        <a id="show-tip" data-open="true" href="javascript:;">关闭操作提示</a>
    </div>
    <div class="tips-txt padding-small-top layout">
        <p>- 插件使用提示。</p>
    </div>
</div>
<div class="hr-gray"></div>

<!--继续编写请求表单 或数据列表-->
</div>

代码片段 - 请求表单

<form action="" method="post">
        <!-- 使用系统分装form类 完成表单组装 system/library/form.class.php -->
        <?php echo form::input('text')); ?>
        <div class="form-group">
            <input type="submit" class="button bg-main" value="提交"/>
            <a class="button margin-left bg-gray" href="">返回</a>
        </div>
</form>

代码片段 - 数据列表

<!--分页数据列表-->
<div class="table check-table resize-table paging-table clearfix">
  <div class="tr">
    <div class="th check-option" data-resize="false"><input id="check-all" type="checkbox" /></div>
    <div class="th" data-width="30">标题一</div>
    <div class="th" data-width="40">标题二</div>
    <div class="th" data-width="30">标题三</div>
  </div>
  <div class="tr">
    <div class="td check-option"><input type="checkbox" /></div>
    <div class="td">td1</div>
    <div class="td">td2</div>
    <div class="td">td3</div>
  </div>
  <div class="paging padding-tb">
    <?php echo $page;?>
  </div>
</div>
<script>
  window.onload = function(){
    $(".table").resizableColumns();
    $(".paging-table").fixedPaging();
  }
</script>

代码片段 - 选择分类

<div class="padding-lr">
				<div class="form-group">
					<span class="label">上级分类:</span>
					<div class="box ">
						<div class="field">
							<input class="goods-class-text input input-readonly" id="choosecat" value="" title="" readonly="readonly" type="text" placeholder="请选择商品分类" data-reset="false" />
							<input class="goods-class-btn" type="button" value="选择" id="choose-class" data-reset="false" />
							<input type="hidden" name="parent_id" data-value="" value="">
						</div>
					</div>
					<p class="desc">选择分类隶属哪个商品分类下,如是顶级分类,请直接选择顶级分类</p>
				</div>
				<div class="form-group">
					<span class="label">关联类型:</span>
					<div class="box ">
						<div class="field">
							<input class="goods-class-text input input-readonly" id="choosetype" value="" title="" readonly="readonly" type="text" placeholder="请选择商品类型" data-reset="false" />
							<input class="goods-class-btn" type="button" value="选择" id="choose-type" data-reset="false" />
							<input type="hidden" name="type_id" value="">
						</div>
					</div>
					<p class="desc">每个分类可以管理一个商品类型,用于前台筛选及商品类型添加</p>
				</div>
			</div>
<script>
			$('#choose-class').bind('click',function(){
				var url = "<?php echo url('goods/category/category_main')?>";
				var pid = $('input[name=parent_id]').val(),
				 	pname = $('#choosecat').val(),
				 	pvalue = $('input[name=parent_id]').attr('data-value'),
				 	id = "";
				var data = [pid,pname,pvalue,id];
				top.dialog({
					url: url,
					title: '加载中...',
					width: 930,
					data: data,
					onclose: function () {
						if(this.returnValue){
							var catname = this.returnValue.html().replace(/&gt;/g,'>'); 
							$('#choosecat').val(catname);
							var catids = this.returnValue.attr('data-id').split(',');
							var catid = catids[catids.length-1];
							$('input[name=parent_id]').attr('data-value',this.returnValue.attr('data-id'));
							$('input[name=parent_id]').val(catid);
							if(catid != 0){
								$('input[name="show_in_nav"]').parents('.form-group').removeClass('hidden');
							}else{
								$('input[name="show_in_nav"]').parents('.form-group').addClass('hidden');
							}
							
						}
					}
				})
				.showModal();
			})
			$('#choose-type').bind('click',function(){
				var url = "<?php echo url('goods/category/category_relation')?>";
				var tid = $('input[name=type_id]').val();
				var tname = $('#choosetype').val();
				var data = [tid,tname];
				top.dialog({
					url: url,
					title: '关联规格',
					data: data,
					width: 500,
					onclose: function () {
						if(this.returnValue){
							$('#choosetype').val(this.returnValue.html());
							$('input[name=type_id]').val(this.returnValue.attr('data-id'));
						}
					}
				})
				.showModal();
			});
			$(function(){
				if(!$('[name="parent_id"]').val()){
					$('input[name="show_in_nav"]').parents('.form-group').addClass('hidden');
				}
				var $val=$("input[type=text]").first().val();
				$("input[type=text]").first().focus().val($val);
			});
		</script>

© 著作权归作者所有

陈孟
粉丝 0
博文 3
码字总数 1300
作品 0
沙坪坝
私信 提问
WebGL助力打造炫酷网页体验

正如网页版《刺客信条:海盗传奇(Assassin’s Creed Pirates)》游戏的广告语“What the web can be”所描述的那样,微软IE团队与知名游戏开发厂商育碧(Ubisoft)通过该游戏再次诠释了网页...

祥子加油
2014/06/27
390
9
开源电子商务网店程序--海盗云商

海盗云商(Haidao)网店系统是一个用php+MySQL进行开发的网店类网站,网站包括了PC端和手机端两种界面。 海盗云商2.0内置功能介绍(更多功能通过插件及模块拓展) 站点设置:负责商城全局站点设...

古人灏
2016/02/03
13.1K
5
用PostgreSQL解海盗分金问题

今天午休期间刷微信,看到云和恩墨的盖总转了一条朋友圈,说杨长老在Oracle中用SQL解海盗分金问题(原文《无往不利:用SQL解海盗分金的利益最大化问题》,看完之后手痒,决定试试在PostgreSQ...

redraiment
2018/10/20
0
0
关于5月份工作安排

本月的工作重点主要集中在两块:[新版官网开发]和[海盗电商后台功能点亮] 本月的任务相对上月来说更加艰巨和复杂,尤其需要重庆研发中心和昆明中心的很好配合,涉及到海盗电商系统和官网的通...

古人灏
2015/05/07
3
3
不会用剑:那些伪互联网海盗们

我们很难弄清楚时光到底意味着什么,但每到年底,回首一年往事,有时会有很不真实的感觉。时光可以带给我们波澜壮阔、世事沧桑,繁华落尽、物是人非,经历过时光的洗涤,那些回忆总是像褪色的...

Chris Zhou
2017/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面向对象编程

1、类和对象 类是对象的蓝图和模板,而对象是实例;即对象是具体的实例,类是一个抽象的模板 当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定...

huijue
今天
8
0
redis异常解决 :idea启动本地redis出现 jedis.exceptions.JedisDataException: NOAUTH Authentication required

第一次安装在本地redis服务,试试跑项目,结果却出现nested exception is redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required错误,真是让人头疼 先检查一...

青慕
今天
12
0
Spring 之 IoC 源码分析 (基于注解方式)

一、 IoC 理论 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。 二、IoC方式 Spring为IoC提供了2种方式,一种是基于xml...

星爵22
今天
25
0
Docker安装PostgresSql

Docker安装PostgresSql 拉取docker镜像 # docker pull postgres:10.1010.10: Pulling from library/postgres9fc222b64b0a: Pull complete 38296355136d: Pull complete 2809e135bbdb: Pu......

Tree
今天
8
0
内容垂直居中

方法一: 采用上下 padding 形式,将内容放置在垂直居中 .line { padding: 2% 0; text-align: center; height: 5px;} <div class="line"> 内容垂直居中</div> 方法二: 采......

低至一折起
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部