找到
2
篇与
Joe主题
相关的结果
-
joe主题再续前缘1.4版增加后台订单统计总额 title: Joe主题再续前缘1.4版:后台订单统计总额功能详解 date: 2025-09-18 12:00:00 tags: [joe主题, 再续前缘, 订单统计, typecho] category: 主题教程 cover: https://www.3cym.com/usr/uploads/2025/09/2409291984.jpg 功能一句话 后台「订单管理」顶部实时显示:总订单数、已支付金额、未支付金额等 6 项关键数据,无需插件,开箱即用。 效果预览 后台订单统计总额展示图图片 核心代码(已内置) 📎 点击查看 /admin/orders.php 完整源码(已折叠) <?php require_once TYPECHO_ADMIN_ROOT . 'header.php'; require_once TYPECHO_ADMIN_ROOT . 'menu.php'; require_once __DIR__ . '/widget.php'; $orders_url = '../themes/' . THEME_NAME . '/admin/orders.php'; $panel_url = $options->adminUrl . 'extending.php?panel=' . urlencode($orders_url); /* ========================================================= * 把整张表一次性读出来,用 PHP 算数字 * ========================================================= */ $db = Typecho_Db::get(); $rows = $db->fetchAll($db->select()->from('table.orders')); $totalOrders = $totalPaidOrders = $totalUnpaidOrders = 0; $totalAmount = $totalPaidAmount = $totalUnpaidAmount = 0; // 单位:分 foreach ($rows as $r) { $totalOrders++; $money = intval(round(floatval($r['money']) * 100)); $pay = intval(round(floatval($r['pay_price']) * 100)); $status = (int)$r['status']; // 1 已支付,0 未支付 $totalAmount += $money; if ($status === 1) { $totalPaidOrders++; $totalPaidAmount += $pay; } else { $totalUnpaidOrders++; $totalUnpaidAmount += ($money - $pay); } } // 转回元 $totalAmountYuan = number_format($totalAmount / 100, 2, '.', ''); $totalPaidAmountYuan = number_format($totalPaidAmount / 100, 2, '.', ''); $totalUnpaidAmountYuan = number_format($totalUnpaidAmount / 100, 2, '.', ''); /* ========================================================= * 下面负责展示 * ========================================================= */ $orders = Typecho\Widget::widget('JoeOrders\Widget'); ?> <style> .stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;padding:10px;background:#f9f9f9;border:1px solid #ddd;font-size:13px} .stats>div{flex:1 1 110px;text-align:center} .stats strong{display:block;font-size:15px;color:#333} </style> <div class="main"> <div class="body container"> <div class="typecho-page-title"><h2>订单管理</h2></div> <div class="row typecho-page-main" role="main"> <div class="col-mb-12 typecho-list"> <!-- 统计卡片(使用 PHP 计算好的结果) --> <div class="stats"> <div>总订单 <strong><?php echo $totalOrders; ?></strong></div> <div>已支付订单 <strong><?php echo $totalPaidOrders; ?></strong></div> <div>未支付订单 <strong><?php echo $totalUnpaidOrders; ?></strong></div> <div>订单总额 <strong><?php echo $totalAmountYuan; ?>元</strong></div> <div>已支付金额 <strong><?php echo $totalPaidAmountYuan; ?>元</strong></div> <div>未支付金额 <strong><?php echo $totalUnpaidAmountYuan; ?>元</strong></div> </div> <!-- 以下保持你原先的业务代码,一字未改 --> <div class="typecho-list-operate clearfix"> <form method="get" action="<?php $options->adminUrl('extending.php'); ?>"> <input type="hidden" name="panel" value="<?= '../themes/' . THEME_NAME . '/admin/orders.php' ?>" /> <div class="operate"> <label><i class="sr-only"><?php _e('全选'); ?></i><input type="checkbox" class="typecho-table-select-all" /></label> <div class="btn-group btn-drop"> <button class="btn dropdown-toggle btn-s" type="button"><i class="sr-only"><?php _e('操作'); ?></i><?php _e('选中项'); ?> <i class="i-caret-down"></i></button> <ul class="dropdown-menu"> <li><a lang="<?php _e('你确认要删除这些订单吗?'); ?>" href="<?= $panel_url . '&action=delete' ?>"><?php _e('删除') ?></a></li> </ul> <button lang="你确认要清理所有未支付订单吗?" class="btn btn-s btn-warn btn-operate" href="<?= $panel_url . '&action=clear' ?>">清理所有未支付订单</button> </div> </div> <div class="search" role="search"> <?php if ('' != $request->keywords): ?> <a href="<?= $panel_url ?>"><?php _e('« 取消筛选'); ?></a> <?php endif; ?> <input type="text" class="text-s" placeholder="<?php _e('请输入关键字'); ?>" value="<?php echo $request->filter('html')->keywords; ?>" name="keywords" /> <select class="search-type" name="type"> <option value=""><?php _e('支付方式'); ?></option> <?php foreach (['wxpay' => '微信', 'alipay' => '支付宝', 'qqpay' => 'QQ'] as $id => $name) : ?> <option value="<?php echo $id; ?>" <?php if ($request->get('type') == $id) : ?> selected="true" <?php endif; ?>><?php echo $name; ?></option> <?php endforeach; ?> </select> <select class="search-status" name="status"> <option value=""><?php _e('支付状态'); ?></option> <?php foreach (['1' => '已支付', '0' => '未支付'] as $id => $name) : ?> <option value="<?php echo $id; ?>" <?= $request->get('status', 2) == $id ? 'selected="true"' : null ?>><?php echo $name; ?></option> <?php endforeach; ?> </select> <button type="submit" class="search-btn btn btn-s"><?php _e('筛选'); ?></button> </div> </form> </div><!-- end .typecho-list-operate --> <form method="post" name="manage_users" class="operate-form"> <div class="typecho-table-wrap"> <table class="typecho-list-table"> <colgroup> <col width="25px" /> <col width="130px" /> <col width="150px" /> <col width="200px" /> <col width="60px" /> <col width="60px" /> <col width="100px" /> <col width="50px" /> <col width="60px" /> <col width="60px" /> <col width="60px" /> <col width="130px" /> </colgroup> <thead> <tr> <th></th> <th>订单号</th> <th>接口订单号</th> <th>文章标题</th> <th>支付方式</th> <th>订单金额</th> <th>用户IP</th> <th>用户ID</th> <th>实付金额</th> <th>通知管理</th> <th>通知用户</th> <th>创建时间</th> </tr> </thead> <tbody> <?php if ($orders->have()) : ?> <?php while ($orders->next()) : ?> <tr id="<?php $orders->id(); ?>"> <td><input type="checkbox" value="<?php $orders->id(); ?>" name="id[]" /></td> <td><?php $orders->trade_no(); ?></td> <td><?php $orders->api_trade_no(); ?></td> <td><?php $orders->content_title(); ?></td> <td><?php $orders->typeName(); ?></td> <td><?php $orders->money(); ?></td> <td><?php $orders->ip(); ?></td> <td><?php $orders->user_id(); ?></td> <td><?php $orders->pay_price(); ?></td> <td><?php $orders->admin_email(); ?></td> <td><?php $orders->user_email(); ?></td> <td><?php $orders->create_time(); ?></td> </tr> <?php endwhile; ?> <?php else : ?> <tr class="even"> <td colspan="12"> <h6 class="typecho-list-table-title"><?php _e('当前无订单'); ?></h6> </td> </tr> <?php endif; ?> </tbody> </table><!-- end .typecho-list-table --> </div><!-- end .typecho-table-wrap --> </form><!-- end .operate-form --> <div class="typecho-list-operate clearfix"> <form method="get"> <?php if ($orders->have()): ?> <ul class="typecho-pager"> <?php $orders->pageNav(); ?> </ul> <?php endif; ?> </form> </div> <!-- end .typecho-list-operate --> </div><!-- end .typecho-list --> </div><!-- end .typecho-page-main --> </div> </div> <?php include 'copyright.php'; include 'common-js.php'; include 'table-js.php'; include 'footer.php'; ?> 使用零步骤 隐藏内容,请前往内页查看详情
-
再续前缘Joe1.4主题自定义导航教程 一、功能简介 Joe主题V1.33已经版本引入了全新的自定义导航栏功能,具有以下特色: 灵活管理: 支持随意添加、删除导航按钮,并可自由排序 高度自定义: 每个按钮支持自定义图标、文字及尺寸 丰富图标库: 主题预置了大量精美的多彩SVG图标,开箱即用 标签支持: 可为链接添加标签进行显示 精心设计: UI美观,颜色、背景、间距、尺寸等都经过精心设计 完美兼容: 细节出色,适配所有PC设备,在任何尺寸的电脑上均可完美显示 二、设置指南 进入 主题设置 → 全局设置 → 自定义全新导航栏,即可开启功能、添加链接并进行相关配置。 添加格式 格式为:导航文字(可添加SVG图标代码) || 跳转链接 || 打开方式 打开方式参数说明 参数说明_self默认值。在当前框架或窗口打开链接_blank在新窗口或新标签页中打开链接_parent在父框架中打开链接_top在整个窗口的顶层框架中打开链接三、图标使用指南 1. 使用内置图标 主题提供了丰富的内置图标,可直接在导航文字前使用以下图标代码: icon-view icon-comment icon-time icon-search icon-money icon-right icon-left icon-reply icon-circle icon-close icon-add icon-add-ring icon-post icon-posts icon-favorite icon-menu icon-d-qq icon-d-weibo icon-d-wechat icon-d-email icon-user icon-theme icon-signout icon-set icon-signup icon-user_rp icon-pan_baidu icon-lanzou icon-onedrive icon-tianyi icon-menu_2 icon-alipay icon-baidu icon-dingtalk icon-xunlei icon-123pan icon-alipan icon-quark icon-360yunpan icon-huawei icon-xiaomi icon-gitee icon-comment-fill icon-private icon-hot-fill icon-hot icon-topping icon-topic icon-plate-fill icon-extra-points icon-deduct-points icon-tags icon-user-auth icon-vip_1 icon-vip_2 icon-qzone-color icon-qq-color icon-weibo-color icon-poster-color icon-copy-color icon-user-color icon-user-color-2 icon-add-color icon-home-color icon-money-color icon-order-color icon-gift-color icon-security-color icon-trend-color icon-msg-color icon-tag-color icon-comment-color icon-wallet-color icon-money-color-2 icon-merchant-color icon-medal-color icon-points-color icon-book-color icon-ontop-color2. 使用自定义图标 如需使用自定义HTML图标(如Font Awesome),请参考相关教程。通常格式为:[fa-icon-name]。 四、配置示例 [icon-home-color] 首页 || / [icon-book-color] 文章分类 [icon-plate-fill] 源码资源 || /category/yuanma/ [icon-post] 官方公告 || /category/default/ [icon-tags] 游戏 || /category/youxi/ [icon-security-color] 技术 || /category/jishu/ [icon-poster-color] 壁纸 || /category/bizhi/ [icon-user-color] 日常 || /category/rchang/ [icon-tag-color] 其他页面 [icon-trend-color] 网站统计 || /tongji.html [icon-copy-color] 友情链接 || /yl.html [icon-order-color] 用户留言 || /# [icon-poster-color] 高清壁纸 || /4Kbz.html [icon-wallet-color] 娱乐直播 || /zhibo.html [fa-video-camera] 在线影视 || /cms.html [fa-comments] 闲聊灌水 || /archives/250 [icon-user-auth] 关于本站 || /start-page.html [icon-tags] 推荐 [icon-order-color] 公益目录 || https://file.bl01.cn/ || _blank [icon-money-color] 易支付 || https://codepay.3cym.com/ || _blank [icon-points-color] 码支付 || https://codepay.3cym.com/ || _blank [icon-home-color] 雨云科技 || https://www.rainyun.com/NDc3ODE4_/ || _blank [icon-hot] 挪车二维码 || https://cs.bl01.cn/001/7/ || _blank [icon-copy-color] 毒蘑菇 || //cs.bl01.cn/001/1/ || _blank [icon-book-color] 随机点名 || https://cs.bl01.cn/001/2/%8F%8C%E8%89%B2%E7%90%83%E7%8F%AD%E7%BA%A7%E7%82%B9%E5%90%8D%E7%B3%BB%E7%BB%9F.html || _blank