方维分享系统 技术解析 本人是PHP菜鸟最近看到方维分享2.1版本,想做2次开发。但是完全看不懂他的模板技术,求高手帮忙解答 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ./tpl模板文件。manage/module/模块manage/module/shareedit.php<?php$share_id = intval($_FANWE['request']['id']);if($share_id == 0) exit;if(!checkAuthority('share','edit')) exit;$share = FS("Share")->getShareById($share_id);if(empty($share)){ deleteManageLock('share',$share_id); exit;}$manage_lock = checkIsManageLock('share',$share_id);if($manage_lock === false) createManageLock('share',$share_id);else exit;$share['share_tags'] = FDB::resultFirst("select group_concat(tag_name SEPARATOR ' ') from ".FDB::table("share_tags")." where share_id = ".$share['share_id']);$share_category = FDB::fetchAll("select c.cate_id,c.cate_name from ".FDB::table("share_category")." as sc left join ".FDB::table("goods_category")." as c on sc.cate_id = c.cate_id where sc.share_id = ".$share['share_id']);$fanwe->cache->loadCache("goods_category");include template('manage/share/edit');display();?>include template('manage/share/edit');对应的是tpl/pink2/manage/share<!--{subtemplate manage/header}--><link type="text/css" rel="stylesheet" href="./tpl/css/weebox.css" /><script type="text/javascript" src="./tpl/js/shareutil.js"></script><div class="manage_edit"> <div class="manage_title"> <span>编辑分享:{$share['share_id']}</span> </div> <div class="manage_unlock"> <span>当前已锁定此分享,其他管理员将不能对其进行操作,解锁请占击</span> <a href="javascript:;" onclick="$.UnManageLock('share',{$share['share_id']},this)">【取消锁定】</a> <span>,解锁后将关闭编辑页面</span> </div> <form method='post' id="form" name="form" action="{$_FANWE[site_root]}manage/manage.php" enctype="multipart/form-data" > <table class="table-form"> <tr> <th width="100">标题</th> <td><input type="text" size="80" class="textinput requireinput" name="title" value="{$share['title']}" /></td> </tr> <tr> <th width="100">分享标签</th> <td><input type="text" class="textinput" name="tags" value="{$share['share_tags']}" style="width:90%"> <div class="blank9"></div> 用空格分隔</td> </tr> <tr> <th>内容</th> <td> <textarea name="content" class="pub_txt PUB_TXT" length="140" position="0">{$share['content']}</textarea> <input type="hidden" id="position_count" class="pub_count" value="0" /> <div style="padding:10px 0 0 0;"> <a w="pub" href="javascript:;" class="add_face" id="add_face" onclick="$.Show_Expression(this);">{lang face}</a> </div> </td> </tr> <tr> <th>首页显示</th> <td> <input type="checkbox" name="is_index" class="is_index" {if $share['is_index']==1}checked="checked"{/if} value="1" /> (取消首页显示将同时删除上传的首页图片) </td> </tr> <tr> <th>首页图片</th> <td> <input type="file" class="manage_fileinput" name="index_img" size="30"> {if $share['index_img'] <> ''} <span><a href="{$share['index_img']}" target="_blank" >浏览</a> {/if} </td> </tr> {if $share['share_data'] != 'default'} <tr> <th>所属分类</th> <td> <table> <tr> <td> <select multiple="multiple" name="cate" style="width:260px; height:200px;"> <!--{loop $_FANWE['cache']['goods_category']['parent'] $rootid}--> <!--{eval $rcate = $_FANWE['cache']['goods_category']['all'][$rootid];}--> <option value="{$rootid}">{$rcate['cate_name']}</option> <!--{loop $rcate['child'] $childid}--> <!--{eval $ccate = $_FANWE['cache']['goods_category']['all'][$childid];}--> <option value="{$childid}"> |-- {$ccate['cate_name']}</option> <!--{/loop}--> <!--{/loop}--> </select> </td> <td width=30 style="text-align:center;vertical-align:middle;"> <input type="button" value=">>" name="add" class="formbutton" /> <div class="blank9"></div> <input type="button" value="<<" name="remove" class="formbutton" /> </td> <td> <select multiple="multiple" name="share_cate" style="width:260px; height:200px;"> <!--{loop $share_category $cate}--> <option value="{$cate['cate_id']}">{$cate['cate_name']}</option> <!--{/loop}--> </select> </td> </tr> </table> </td> </tr> {/if} <tr> <th>审核</th> <td> <input type="checkbox" name="status" class="status" value="1" {if $share['status']==1}checked="status"{/if} /> </td> </tr> <tr> <th>排序</th> <td> <input type="text" name="sort" class="textinput" value="{$share['sort']}" /> </td> </tr> <tr class="act"> <th> </th> <td> <input type="hidden" name="share_id" value="{$share['share_id']}" /> <input type="hidden" name="share_cates" value="{eval $idx = 1;}<!--{loop $share_category $cate}-->{if $idx <>1},{/if}{$cate['cate_id']}{eval $idx ++ ;}<!--{/loop}-->" /> <input type="hidden" name="m" value="share" /> <input type="hidden" name="a" value="update" /> <input type="submit" class="formbutton" value="提交" /> <input type="reset" class="formbutton" value="重置" /> </td> </tr> </table> </form></div><script type="text/javascript"><!--{if $share['share_data'] != 'default'}-->$(document).ready(function(){ $("select[name='cate']").bind("dblclick",function(){ add_cate(); }); $("input[name='add']").bind("click",function(){ add_cate(); }); $("select[name='share_cate']").bind("dblclick",function(){ remove_cate(); }); $("input[name='remove']").bind("click",function(){ remove_cate(); });});function add_cate(){ var select_option = $("select[name='cate']").find("option:selected"); var exist_option = $("select[name='share_cate']").find("option"); var obj = new Array(); for(i=0;i<select_option.length;i++) { is_add = true; for (j = 0; j < exist_option.length; j++) { if ($(select_option[i]).attr("value") == $(exist_option[j]).attr("value")) { is_add = false; break; } } if(is_add) { obj.push(select_option[i]); } } var clone = $(obj).clone(); $("select[name='share_cate']").append(clone); var text = $("select[name='share_cate']").html().replace(/ /g,''); text = text.replace(/\|--/g,''); $("select[name='share_cate']").html(text); var opts = $("select[name='share_cate']").find("option"); var ids = new Array(); for(i=0;i<opts.length;i++) { ids.push($(opts[i]).attr("value")); } $("input[name='share_cates']").val(ids.join(","));}function remove_cate(){ $("select[name='share_cate']").find("option:selected").remove(); var opts = $("select[name='share_cate']").find("option"); var ids = new Array(); for(i=0;i<opts.length;i++) { ids.push($(opts[i]).attr("value")); } $("input[name='share_cates']").val(ids.join(","));}<!--{/if}--></script><!--{subtemplate manage/footer}-->语法类似smarty。可以模仿使用 更确切的说,是discuzX2.5的写法。 同楼主一样,最近也在看这个,虽然知道它用的是ThinkPHp框架,但是还是很难 看懂 mysql 触发器怎么写 5.0.6 关于SMARTY的问题 特一个问题,朋友们来吧 求 PHP 设置管理员帐号session的有效期 代码 以前是搞java的,现在做网站发现php好用,谁能说一下怎么学习php吗? 正则表达式 wordpress圣经 的源码 有问题吗? 高手进来 EPP3中添加tomcat的问题,急!!!!!!!!!!!!!!!!!!! 如何在地方门户网站上做手机话费充值啊? 怎么解决这个呀 谁能给我个在网页上实现IP地址查询功能的程序?
。manage/module/模块
manage/module/share
edit.php<?php
$share_id = intval($_FANWE['request']['id']);if($share_id == 0)
exit;if(!checkAuthority('share','edit'))
exit;$share = FS("Share")->getShareById($share_id);
if(empty($share))
{
deleteManageLock('share',$share_id);
exit;
}$manage_lock = checkIsManageLock('share',$share_id);
if($manage_lock === false)
createManageLock('share',$share_id);
else
exit;$share['share_tags'] = FDB::resultFirst("select group_concat(tag_name SEPARATOR ' ') from ".FDB::table("share_tags")." where share_id = ".$share['share_id']);
$share_category = FDB::fetchAll("select c.cate_id,c.cate_name from ".FDB::table("share_category")." as sc left join ".FDB::table("goods_category")." as c on sc.cate_id = c.cate_id where sc.share_id = ".$share['share_id']);$fanwe->cache->loadCache("goods_category");
include template('manage/share/edit');
display();
?>
include template('manage/share/edit');对应的是
tpl/pink2/manage/share
<!--{subtemplate manage/header}-->
<link type="text/css" rel="stylesheet" href="./tpl/css/weebox.css" />
<script type="text/javascript" src="./tpl/js/shareutil.js"></script>
<div class="manage_edit">
<div class="manage_title">
<span>编辑分享:{$share['share_id']}</span>
</div>
<div class="manage_unlock">
<span>当前已锁定此分享,其他管理员将不能对其进行操作,解锁请占击</span>
<a href="javascript:;" onclick="$.UnManageLock('share',{$share['share_id']},this)">【取消锁定】</a>
<span>,解锁后将关闭编辑页面</span>
</div>
<form method='post' id="form" name="form" action="{$_FANWE[site_root]}manage/manage.php" enctype="multipart/form-data" >
<table class="table-form">
<tr>
<th width="100">标题</th>
<td><input type="text" size="80" class="textinput requireinput" name="title" value="{$share['title']}" /></td>
</tr>
<tr>
<th width="100">分享标签</th>
<td><input type="text" class="textinput" name="tags" value="{$share['share_tags']}" style="width:90%">
<div class="blank9"></div>
用空格分隔</td>
</tr> <tr>
<th>内容</th>
<td>
<textarea name="content" class="pub_txt PUB_TXT" length="140" position="0">{$share['content']}</textarea>
<input type="hidden" id="position_count" class="pub_count" value="0" />
<div style="padding:10px 0 0 0;">
<a w="pub" href="javascript:;" class="add_face" id="add_face" onclick="$.Show_Expression(this);">{lang face}</a>
</div>
</td>
</tr>
<tr>
<th>首页显示</th>
<td>
<input type="checkbox" name="is_index" class="is_index" {if $share['is_index']==1}checked="checked"{/if} value="1" />
(取消首页显示将同时删除上传的首页图片)
</td>
</tr>
<tr>
<th>首页图片</th>
<td>
<input type="file" class="manage_fileinput" name="index_img" size="30">
{if $share['index_img'] <> ''}
<span><a href="{$share['index_img']}" target="_blank" >浏览</a>
{/if}
</td>
</tr>
{if $share['share_data'] != 'default'}
<tr>
<th>所属分类</th>
<td>
<table>
<tr>
<td>
<select multiple="multiple" name="cate" style="width:260px; height:200px;">
<!--{loop $_FANWE['cache']['goods_category']['parent'] $rootid}-->
<!--{eval $rcate = $_FANWE['cache']['goods_category']['all'][$rootid];}-->
<option value="{$rootid}">{$rcate['cate_name']}</option>
<!--{loop $rcate['child'] $childid}-->
<!--{eval $ccate = $_FANWE['cache']['goods_category']['all'][$childid];}-->
<option value="{$childid}"> |-- {$ccate['cate_name']}</option>
<!--{/loop}-->
<!--{/loop}-->
</select>
</td>
<td width=30 style="text-align:center;vertical-align:middle;">
<input type="button" value=">>" name="add" class="formbutton" />
<div class="blank9"></div>
<input type="button" value="<<" name="remove" class="formbutton" />
</td>
<td>
<select multiple="multiple" name="share_cate" style="width:260px; height:200px;">
<!--{loop $share_category $cate}-->
<option value="{$cate['cate_id']}">{$cate['cate_name']}</option>
<!--{/loop}-->
</select>
</td>
</tr>
</table>
</td>
</tr>
{/if}
<tr>
<th>审核</th>
<td>
<input type="checkbox" name="status" class="status" value="1" {if $share['status']==1}checked="status"{/if} />
</td>
</tr>
<tr>
<th>排序</th>
<td>
<input type="text" name="sort" class="textinput" value="{$share['sort']}" />
</td>
</tr>
<tr class="act">
<th> </th>
<td>
<input type="hidden" name="share_id" value="{$share['share_id']}" />
<input type="hidden" name="share_cates" value="{eval $idx = 1;}<!--{loop $share_category $cate}-->{if $idx <>1},{/if}{$cate['cate_id']}{eval $idx ++ ;}<!--{/loop}-->" />
<input type="hidden" name="m" value="share" />
<input type="hidden" name="a" value="update" />
<input type="submit" class="formbutton" value="提交" />
<input type="reset" class="formbutton" value="重置" />
</td>
</tr>
</table>
</form>
</div>
<script type="text/javascript">
<!--{if $share['share_data'] != 'default'}-->
$(document).ready(function(){
$("select[name='cate']").bind("dblclick",function(){
add_cate();
});
$("input[name='add']").bind("click",function(){
add_cate();
});
$("select[name='share_cate']").bind("dblclick",function(){
remove_cate();
});
$("input[name='remove']").bind("click",function(){
remove_cate();
});
});function add_cate()
{
var select_option = $("select[name='cate']").find("option:selected");
var exist_option = $("select[name='share_cate']").find("option");
var obj = new Array();
for(i=0;i<select_option.length;i++)
{
is_add = true;
for (j = 0; j < exist_option.length; j++)
{
if ($(select_option[i]).attr("value") == $(exist_option[j]).attr("value"))
{
is_add = false;
break;
}
}
if(is_add)
{
obj.push(select_option[i]);
}
}
var clone = $(obj).clone();
$("select[name='share_cate']").append(clone);
var text = $("select[name='share_cate']").html().replace(/ /g,'');
text = text.replace(/\|--/g,'');
$("select[name='share_cate']").html(text);
var opts = $("select[name='share_cate']").find("option");
var ids = new Array();
for(i=0;i<opts.length;i++)
{
ids.push($(opts[i]).attr("value"));
}
$("input[name='share_cates']").val(ids.join(","));
}function remove_cate()
{
$("select[name='share_cate']").find("option:selected").remove();
var opts = $("select[name='share_cate']").find("option");
var ids = new Array();
for(i=0;i<opts.length;i++)
{
ids.push($(opts[i]).attr("value"));
}
$("input[name='share_cates']").val(ids.join(","));
}
<!--{/if}-->
</script>
<!--{subtemplate manage/footer}-->语法类似smarty。可以模仿使用