Bludit简单二开记录_自定义字段_修改调用经验等
Bludit简单二次开发及使用心得记录
曾用这个系统做了一套秒杀API小项目,所以顺便分享一下
增加用户自定义字段方法
几个关键文件
/bl-kernel/下 不带s负责调用 带s负责保存
/bl-kernel/admin/views/ 下 负责后台表单及回调
\bl-kernel\admin\themes\booty\html\navbar.php //后台菜单 移动端
\bl-kernel\admin\themes\booty\html\sidebar.php //后台菜单
表单中jsid和name一定要唯一不然不会传值保存不了
**/bl-kernel/**users.class.php
这是后台保存时负责保存到数据库处理的 主管处理
/bl-kernel/user.class.php
这是负责后台调用数据库及api调用显示的 主管显示
/bl-kernel/admin/views/edit-user.php
这是后台编辑界面表单显示
bl-languages/zh_CN.json
负责语言翻译
直接复制相对于位置的一个vk方法 增加就是
/bl-kernel/admin/views/
负责后台主题目录
/bl-kernel/admin/views/users.php
负责用户列表
bl-kernel/admin/views/dashboard.php
负责控制面板首页
/bl-kernel/admin/views/edit-content.php
负责内容编辑
/bl-kernel/pages.class.php
内容处理保存
/bl-kernel/pagex.class.php
内容回显调用
编辑
/bl-kernel/boot/variables.php
文件来更改它。将ADMIN_URI_FILTER
常数更改为您自己选择的值 修改管理员地址
\admin\themes\booty\html\navbar.php sidebar.php
负责后台响应式菜单 sidebar.php为pc端
\bl-kernel\functions.php
负责库函数 例如在后台首页调用buildParent 会调用文章
获取栏目信息函数 getCategories
获取页面信息函数 buildParentPages
\bl-kernel\pages.class.php
他还负责数据库操作函数 getdb类
(getDB、getAutosaveDB、getScheduledDB、getStickyDB、getPublishedDB、getPageDB、getStaticDB、getDraftDB)
文章几种状态
sticky 置顶
static 静态
published 普通
draft 草稿
自创草稿函数buildDraftPages 放到函数库文件 让他在控制面板调用草稿即可
bl-kernel\functions.php
function buildDraftPages() {
global $pages;
$list = array();
$pagesKey = $pages->getDraftDB();
foreach ($pagesKey as $pageKey) {
try {
$page = new Page($pageKey);
array_push($list, $page);
} catch (Exception $e) {
// continue
}
}
return $list;
}
调用方式 内容字段都可以调取出来 我在这里调用/bl-kernel/admin/views/dashboard.php
<!--draft-->
<?php
$lanmu = buildDraftPages();
foreach ($lanmu as $lanmu) {
echo '<li class="list-group-item">'.$lanmu->title().'内容:'.$lanmu->content().'</li>';
}
?>
同理 如果新建一个类别 应该可以实现文章的多样化管理 多种需求
直接调取栏目代码
<!--categor-->
<?php
foreach ($categories->keys() as $key) {
$category = new Category($key);
echo '<tr>';
echo '<td><a href="'.HTML_PATH_ADMIN_ROOT.'edit-category/'.$key.'">'.$category->name().'</a></td>';
echo '<td><a href="'.$category->permalink().'">'.$url->filters('category', false).$key.'</a></td>';
echo '</tr>';
}
?>
api操作系统设置的方法
http://网址/api/settings?token=6242e9013f460df00f4bd55daca6f9bc&authentication=68056b5d90cad9916a60be81e1d04b8a
设置这个东西 不能只改一个字段否则一切还原
编辑用户字段 主商品选项列表显示商品名及已选判断
echo '<div class="form-group row"><label for="jszgpid" class="col-sm-2 col-form-label">主攻商品id</label><div class="col-sm-10"><select id="jszgpid" name="zgpid" class="custom-select ">';
foreach ($parents as $parent) {
if ($parent->key()==$user->zgpid()){
echo'<option selected="" value="'.$parent->key().'">'.$parent->title().'</option>';
} elseif($parent->title()!="") {
echo'<option value="'.$parent->key().'">'.$parent->title().'</option>';
} elseif ($user->zgpid()=='00'){
echo'<option selected="" value="00">不秒杀</option>';
} elseif ($user->zgpid()!='00'){
echo'<option value="00">不秒杀</option>';
}
}
echo'</select><small class="form-text text-muted">必选,表示整点商品 全天通用</small></div></div>';