Brains - 灵感乌托邦 - Typecho
type: channel
link: https://www.fuuuy.cn/category/typecho
items: 『笔记』『学习』Typecho常量
items: 『原创』『教程』博客评论框添加随机一言
items: 『原创』『教程』给兰空图床添加一个后台获取Tonken功能
items: 『原创』『教程』为你的博客添加阅读模式（适配Joe，其他主题也可用）
items: 『原创』『教程』博客的侧栏增加社交信息2.0
items: 『原创』『教程』给自己博客的侧栏增加社交信息，方便业务（PY）联系
items: 『原创』『表情』为Joe主题增加QQ，Bilibili，酷安，贴吧，微博表情包
items: 『修复』『插件』Typecho文章内容分页插件修复版（适配Joe编辑器）
items: 『原创』『教程』Typecho后台撰写文章时插入标签（非插件）
items: 『转载』『教程』Joe主题新增首页文章分页功能

『笔记』『学习』Typecho常量
type: item
date: 2024-01-18T14:59:00+08:00
description: Typecho常量，在 config.inc.php 最后面插入一行代码就可以启动一些功能或者重新定义一些参数，在 config.inc.php 中加是全局生效的，不在 config.inc.php 中其实也可以生效，只是在你加的位置那个局部生效。debug模式平时不建议开启，遇到报错或者开发东西时最好开启，可以看到更详细的报错define('__TYPECHO_DEBUG__', true);强制https当你用https的时候typecho会自动识别的，但是因为大家的环境千差万别，会有识别错误的情况，比如你https都布置好了，但是程序依旧只会加载http的，所以该常量的作用就是强制程序使用https，解决识别错误的情况。define('__TYPECHO_SECUER__', true);公共头像地址替换Typecho用的GRAVATR的公共头像地址，GRAVATR的服务器在美国，虽然它在全世界做镜像，但是在国内依旧很慢。然后发现有国内有很多人为其做反向代理，把头像缓存到本地，来提高速度，以前大家可能会使用插件来替换Typecho的GRAVATR的默认地址，实际上不需要，我们用这个常量就可以了，比如我们替换成 https://gravatar.cat.net/avatar/ ，用法如下 用法 在config.inc.php最后面插入 define('__TYPECHO_GRAVATR_PREFIX__', 'https://gravatar.cat.net/avatar'); 这样一来typecho就会替换成 https://gravatar.cat.net/avatar/ 渠道的头像地址。【有些模板可能不支持】后台路径自定义后台路径字定义，用于修改程序后台地址，提高安全性。 typecho默认后台地址是admin，如果我们想改成typecho-admin，那么首先登陆服务器把admin文件夹名字改成typecho-admin。 然后在config.inc.php找到define('__TYPECHO_ADMIN_DIR__', '/admin/');将其中的admin改成typecho-admin即可。自定义上传附件目录可以单独定义一个不在typecho下的附件上传地址 存储到这里有什么用呢？ 在config.inc.php最后面插入define('__TYPECHO_UPLOAD_DIR__', '/www/static'); define('__TYPECHO_UPLOAD_URL__', 'https://xxxxx.upyun.com');开启动态域名如果你站绑定了多个域名，可能非后台设置的域名访问会出现跨域加载问题，可以使用他开启动态域名，这样就可以使用多个域名绑定在同一个站点了define('__TYPECHO_DYNAMIC_SITE_URL__',true);

『原创』『教程』博客评论框添加随机一言
type: item
date: 2022-12-27T10:32:00+08:00
description: 前言由于我的博客之前经常有人回复一些无意义的内容，导致很多垃圾评论所以我在想既然很多游客喜欢回复一些垃圾评论，不如我直接设置一个随机一言，让他们省去了垃圾评论的打字时间，同时又能让我的评论区少一些无意义的评论而且那些真正认真回复的人只需要一键删除即可，也不会很影响评论体验，所以就给自己的评论框添加了随机一言前段时间有小伙伴留言让我出个评论随机一言的教程，而我这边突然爆发了疫情，前些天自己又感染了，所以一直拖到现在效果展示按照惯例，先来一波效果展示本教程仅以Joe主题为例，其他主题可自行发挥能力，如有技术问题，博主可提供简单的指导教程开始一、添加后台控制在 Joe/functions.php 或者 Joe/public/custom.php（有的话） 内添加以下代码// 评论框随机语录功能 $Comment_Citation = new Typecho_Widget_Helper_Form_Element_Select( 'Comment_Citation', array('off' => '关闭（默认）', 'on' => '开启'), 'off', '是否开启评论框随机语录功能', '介绍：开启后，评论框自动随机填充随机语录' ); $Comment_Citation->setAttribute('class', 'joe_content joe_change'); // 如果后台无法展示该设置，将joe_change修改为joe_other $form->addInput($Comment_Citation->multiMode()); //评论框随机语录链接/文字 $Comment_Citation__text = new Typecho_Widget_Helper_Form_Element_Textarea( 'Comment_Citation__text', NULL, "https://api.vvhan.com/api/ian", '评论框随机语录', '介绍：用于修改评论框随机语录（可以为api地址） 格式：一行一个，可以为api地址，也可为文字，可以填写多个API地址 注意：必须填写JSON格式的API，API需要开启跨域权限才能调取，否则会调取失败！ 如果为api地址可在前台按钮刷新内容，如果为文字只能刷新页面来刷新内容（建议使用api地址） 推荐API：https://api.vvhan.com/api/ian' ); $Comment_Citation__text->setAttribute('class', 'joe_content joe_change'); // 如果后台无法展示该设置，将joe_change修改为joe_other $form->addInput($Comment_Citation__text);二、添加刷新按钮（可省略）在 Joe/public/comment.php 添加以下代码，不添加则不设置刷新按钮{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="添加代码"}<?php if ($this->options->Comment_Citation !== "off") : ?> 语录 <?php endif; ?>{/tabs-pane}{/tabs}三、添加内容获取1、添加后端获取在 Joe/core/function.php 添加以下代码{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="添加代码"}/* 获取评论框随机语录 */ function _getComment_Citation() { $CitationRandom = explode("\r\n", Helper::options()->Comment_Citation__text); echo $CitationRandom[array_rand($CitationRandom)]; }{/tabs-pane}{/tabs}2、添加前端获取在 Joe/public/config.php 添加以下代码{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="添加代码"}CITATION: `<?php _getComment_Citation() ?>`, // 评论随机语录{/tabs-pane}{/tabs}四、添加核心代码在 Joe/assets/js/joe.global.min.js 或者 Joe/assets/js/custom.min.js（有的话） 添加以下代码{hide}if ($(".Com…

『原创』『教程』给兰空图床添加一个后台获取Tonken功能
type: item
date: 2022-10-20T16:06:00+08:00
description: 前言因为一直用的GitHub+jsdelivr的免费图床，自从去年jsdelivr挂了之后，博客的图片就无法加载了，所以只好自己搭建图床经过一段时间的折腾，在自己组装的all in one上搭建了兰空图床，利用兰空pro插件可以实现粘贴上传到图床并直接插入文章但是兰空图床免费版的token需要使用第三方请求来获取，非常的不方便所以我就自己在后台程序中加了一个post请求，使用异步请求来获取token实现效果实现教程添加代码直接在 /resources/views/common/api.blade.php 文件里合适的位置添加以下代码{hide} Tonken获取 getSchemeAndHttpHost() }}/api/v1/tokens" method="POST"> 邮箱 email }}"> 密码 点击获取 <x-code> token： </x-code> {/hide}添加位置刷新后台建议使用强制刷新Ctrl+F5结语其实实现原理很简单，就是使用jQuery的Ajax来获取的之前看到 冷寂 搭建了一个专门用来获取兰空图床token的程序，我觉得麻烦了，所以才有了这个简便的想法

『原创』『教程』为你的博客添加阅读模式（适配Joe，其他主题也可用）
type: item
date: 2022-08-22T11:04:00+08:00
description: 前言我又来拔flag了，最近立了好多flag，但是最近重庆太热了，不想写文章（其实就是懒了）既然给小伙伴立了flag，还是要说到做到，不然没有小伙伴来玩了。这个功能也是xcshare定制的功能，但是我还是分享出来吧成果展示教程开始一、添加后台开关一样的，还是在 Joe/functions.php 里添加（也可以在 Joe/public/custom.php 里添加，前提是你创建并引用了这个文件）// 是否启用阅读模式 $ReadBook = new Typecho_Widget_Helper_Form_Element_Select( 'ReadBook', array( 'off' => '关闭（默认）', 'on' => '开启'), 'off', '请选择是否启用阅读模式', '介绍：开启后，文章页可以进入阅读模式' ); $ReadBook->setAttribute('class', 'joe_content joe_custom'); //没有joe_custom就改成joe_other $form->addInput($ReadBook->multiMode());二、添加开关按钮在 Joe/public/footer.php 的 内部添加以下代码 <?php if ($this->options->ReadBook === 'on' && $this->is('post')) : ?> <path d="M170.666667 128a42.666667 42.666667 0 0 0-42.666667 42.666667v597.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h161.664a213.333333 213.333333 0 0 1 118.314666 35.84l61.354667 40.874666 61.354667-40.874666A213.333333 213.333333 0 0 1 691.626667 810.666667H853.333333a42.666667 42.666667 0 0 0 42.666667-42.666667V170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-161.664c-17.706667 0-44.672 7.68-67.413333 20.906667-11.008 6.4-18.944 12.928-23.637333 18.346666a23.978667 23.978667 0 0 0-3.413334 4.821334V682.666667a42.666667 42.666667 0 0 1-85.333333 0V170.666667c0-24.746667 11.861333-44.970667 24.192-59.221334a178.688 178.688 0 0 1 45.354667-36.352c32.384-18.773333 74.026667-32.426667 110.250666-32.426666H853.333333a128 128 0 0 1 128 128v597.333333a128 128 0 0 1-128 128h-161.664a128 128 0 0 0-70.997333 21.504l-84.992 56.661333a42.666667 42.666667 0 0 1-47.36 0l-84.992-56.661333A128 128 0 0 0 332.330667 896H170.666667a128 128 0 0 1-128-128V170.666667a128 128 0 0 1 128-128h161.664a213.333333 213.333333 0 0 1 118.314666 35.84 42.666667 42.666667 0 0 1-47.317333 70.997333A128 128 0 0 0 332.330667 128H170.666667z" p-id="9868" fill="var(--minor)" data-spm-anchor-id="a313x.7781069.0.i0" class="selected"></path> <path d="M213.333333 384a42.666667 42.666667 0 0 1 42.666667-42.666667h128a42.666667 42.666667 0 0 1 0 85.333334H256a42.666667 42.666667 0 0 1-42.6…

『原创』『教程』博客的侧栏增加社交信息2.0
type: item
date: 2022-04-20T11:31:00+08:00
description: 前言因为之前出了一个给侧栏添加社交信息的模块，但是只能固定设置QQ、微信、B站、微博这四个联系方式所以当时就想着能不能做一个无限添加信息的模块，就立了一个Flag，然后在3天之后才实现了这个功能（主要是懒，一直不想写）成果展示如图提示，可以无限添加，5个为一行，并且自动均匀分布教程开始一、添加PC端打开 Joe/public/aside.php 文件，然后在想要增加的位置添加以下代码{hide} <?php if ($this->options->SocialInfo && (($this->options->SocialSwitch === 'on') || ($this->options->SocialSwitch === 'on2'))) : ?> <?php $SocialInfo = $this->options->SocialInfo; if ($SocialInfo) { $SocialInfo_arr = explode("\r\n", $SocialInfo); if (count($SocialInfo_arr) > 0) { for ($i = 0; $i < count($SocialInfo_arr); $i++) { $SocialTitle = explode("||", $SocialInfo_arr[$i])[0]; $SocialIco = explode("||", $SocialInfo_arr[$i])[1]; $SocialUrl = explode("||", $SocialInfo_arr[$i])[2]; $SocialInfos[] = array("SocialTitle" => trim($SocialTitle), "SocialIco" => trim($SocialIco), "SocialUrl" => trim($SocialUrl)); } } } ?> <?php foreach ($SocialInfos as $item) : ?> <li class="<?php echo $item['SocialTitle']; ?>"> <a class="<?php echo $item['SocialTitle']; ?>A" href="<?php echo $item['SocialUrl']; ?>" target="_blank" title="<?php echo $item['SocialTitle']; ?>"> <img src="<?php echo $item['SocialIco']; ?>" /> <?php endforeach; ?> <?php endif; ?>{/hide}二、添加PE端打开 Joe/public/header.php 文件，然后在想要增加的位置添加上面PC的代码PE端的代码和上面的一样，只需要将 换成 三、添加后台请参考第一版给自己博客的侧栏增加社交信息1.0 将其中的描述修改一下就行了四、添加样式同样参考上一版的样式就行，可以自己再优化一下这里放出我的样式.top-social { position: relative; padding: 5px 0; width: 250px; display: flex; flex-wrap: wrap; background: var(--background); justify-content: space-around; //每个项目两侧的间隔相等 margin-bottom: 15px; border-radius: var(--radius-wrap); box-shadow: var(--box-shadow); li { width: 50px; text-align: center; padding: 5px 0px; position: relative; img { height: 32px; } .WeChatInner { display: none; position: absolute; box-shadow: 0px 1px 4px 2px var(--theme); border-radius: var(--radius-wrap); transition: 0.7s all ease; background: var(--background); -webkit-transition: 0.7s all ease; top: -175px; left: -50px; transform: translate3d(0, 16px, 0); width: 150px; height: 150px; z-index: 2; &::befor…

『原创』『教程』给自己博客的侧栏增加社交信息，方便业务（PY）联系
type: item
date: 2022-03-16T20:11:00+08:00
description: 前言前不久突发奇想，录了一个视频然后留了自己的博客，却发现博客却没有链接回去的方式，所以就写了一个社交信息的侧栏模块然后有小伙伴看到了，专门留言让我出个教程，当时答应的好好的，可是一连鸽了好几天，今天进入留言板看到许诺的话，不禁老脸一红，差点忘了这茬了 ::(狂汗) 成果展示博客的侧栏增加社交信息2.0 这个模块适合任何主题及程序，只需要根据自己的主题或者程序进行改进就行我这里演示的是我正在使用的Joe主题，是一款轻量、开源的主题{tabs}{tabs-pane label="PC展示"}{/tabs-pane}{tabs-pane label="PE展示"}{/tabs-pane}{/tabs}教程开始一、添加PC端打开 Joe/public/aside.php 文件，然后在想要增加的位置添加以下代码{tabs}{tabs-pane label="代码"}{hide} <?php if ($this->options->SocialInfo && (($this->options->SocialSwitch === 'on') || ($this->options->SocialSwitch === 'on2'))) : ?> <?php $SocialInfo = $this->options->SocialInfo; if ($SocialInfo) { $SocialInfo_arr = explode("\r\n", $SocialInfo); if (count($SocialInfo_arr) > 0) { for ($i = 0; $i < count($SocialInfo_arr); $i++) { $QQ = explode("||", $SocialInfo_arr[$i])[0]; $WeChat = explode("||", $SocialInfo_arr[$i])[1]; $BiliBili = explode("||", $SocialInfo_arr[$i])[2]; $Weibo = explode("||", $SocialInfo_arr[$i])[3]; } } } ?> <a href="https://wpa.qq.com/msgrd?v=3&uin=<?php echo trim($QQ) ?>&site=qq&menu=yes" target="_blank" title="QQ"> <img src="<?php echo trim($WeChat) ?>" /> <a href="https://space.bilibili.com/<?php echo trim($BiliBili) ?>" target="_blank" title="哔哩哔哩"> <a href="https://weibo.com/u/<?php echo trim($Weibo) ?>" target="_blank" title="微博"> <?php endif; ?>{/hide}{/tabs-pane}{tabs-pane label="位置"}{/tabs-pane}{/tabs}二、添加PE端打开 Joe/public/header.php 文件，然后在想要增加的位置添加上面PC的代码PE端的代码和上面的一样，只需要将 换成 三、添加后台直接在 Joe/functions.php 添加以下代码（当然，如果看过我之前的文章，也可以放在 Joe/public/custom.php 里面）// 侧栏社交信息开关 $SocialSwitch = new Typecho_Widget_Helper_Form_Element_Select( 'SocialSwitch', array( 'off' => '关闭（默认）', 'on' => '开启PC社交信息', 'on1' => '开启PE社交信息', 'on2' => '同时开启PC与PE社交信息', ), 'off', '是否启用侧栏社交信息', '介绍：开启后，侧栏展示社交信息功能（必须填写下面的侧栏社交信息）' ); $SocialSwitch->setAttribute('class', 'joe_content joe_custom'); //没有custom.php就把joe_custom改成joe_other $form->addInput($SocialSwitch->multiMode()); //侧栏社交信息 $SocialInfo = new Typecho_Widget_Helper_Form_Element_Textarea( 'SocialInfo', NULL, NULL, '侧栏社交信息', '介绍：用于设置侧…

『原创』『表情』为Joe主题增加QQ，Bilibili，酷安，贴吧，微博表情包
type: item
date: 2021-12-28T09:53:00+08:00
description: 前言最近失恋了，就一直在学习前端基础，所以个人博客都好久没更新了偶然在翠翠的博客看到给typecho添加表情包的教程，所以自己也添加了两组表情包但是在添加途中遇到了一个问题，所以将自己遇到的坑记录下来成果展示后台编辑器代码位置 教程开始一、添加表情过滤因为Joe主题之前被人恶意注入过xss，因此主题作者添加了关键词屏蔽，所以还要进行过滤拿到一个表情包后，在 windows 系统中下这样操作，在表情包文件夹内创建一个 文本文档 然后双击打开，使用以下命令生成该文件夹文件（图片）列表：dir /b > list.txt 保存后将文件后缀改为 bat ，然后再双击打开，就会生成一个 list.txt 文件生成的 list.txt 就包含了改目录下的全部文件名，就可以很方便的批处理。 关键词拼串可以使用Excel进行，直接使用以下代码就行=A2&$F$2&A3 =E2&$F$2&A4然后打开 Joe/core/parse.php 文件，找到表情过滤在下面添加你表情的关键词与表情地址{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="代码"}{hide}$text = preg_replace_callback( '/\:\#\(\s*(doge|亲亲|偷笑|再见|发怒|发财|可爱|吐血|呆|呕吐|困|坏笑|大佬|大哭|委屈|害羞|尴尬|微笑|思考|惊吓|打脸|抓狂|抠鼻子|斜眼笑|无奈|晕|流汗|流鼻血|点赞|生气|生病|疑问|白眼|睡着|笑哭|腼腆|色|调皮|鄙视|闭嘴|难过|馋|黑人问号|鼓掌)\s*\)/is', function ($match) { return ' themeUrl . '/assets/owo/bilibili/' . str_replace('%', '', urlencode($match[1])) . '.gif" alt="小电视"/>'; }, $text ); $text = preg_replace_callback( '/\:\$\(\s*(爱你|爱心|傲慢|白眼|棒棒糖|爆筋|抱拳|鄙视|闭嘴|擦汗|菜刀|吃|呲牙|大兵|大哭|蛋|得意|doge|发呆|发怒|奋斗|尴尬|勾引|鼓掌|害羞|憨笑|好棒|哈欠|喝彩|河蟹|坏笑|饥饿|惊恐|惊喜|惊讶|菊花|可爱|可怜|抠鼻|酷|快哭了|骷髅|困|篮球|泪奔|冷汗|流汗|流泪|难过|OK|喷血|撇嘴|啤酒|强|敲打|亲亲|糗大了|拳头|骚扰|色|胜利|手枪|衰|睡|调皮|偷笑|吐|托腮|委屈|微笑|握手|我最美|无奈|吓|小纠结|笑哭|小样儿|斜眼笑|西瓜|嘘|羊驼|阴险|疑问|右哼哼|幽灵|晕|再见|眨眼睛|折磨|咒骂|抓狂|左哼哼)\s*\)/is', function ($match) { return ' themeUrl . '/assets/owo/QQ/' . str_replace('%', '', urlencode($match[1])) . '.gif" alt="QQ"/>'; }, $text );{/hide}{/tabs-pane}{/tabs}这里有一个坑 ，因为原作者引用表情包地址是用的 urlencode() 函数，将文字转换为UrlEncode编码的字符{hide}所以图片地址应该为不带 % 的UrlEncode，因此可以在站长工具 UrlEncode编码/UrlDecode解码 中将图片list.txt的文字转码为UrlEncode字符串然后再复制到Excel中将 % 替换为 空值 ，就像这样虽然转码完成了，但是还要把图片名称都换成不带 % 的UrlEncode才行如果你是Windows系统就很简单了（Mac的同学自行百度批量修改文件名），同样是在Excel中进行拼串="ren "&A3&".gif "&C3&".gif"得到结果后，首先在表情包文件夹中创建一个 red.txt 文件，然后将得到的结果粘贴到txt文件中保存最后将 red.txt 改为 red.bat ，再双击运行，你就会看到你的图片被批量重命名了 {/hide}二、配置 OwO.json打开 Joe/assets/json 下的 joe.owo.json 文件在里面添加（请自行删除代码中的 删除 字符） "表情": [ { "icon": "assets/owo/QQ/E788B1E4BDA0.gif", "data": ":删除$(爱你)" }, { "icon": "assets/owo/QQ/E788B1E5BF83.gif", "data": ":删除$(爱心)" }, { "icon": "assets/owo/QQ/E582B2E685A2.gif", "d…

『修复』『插件』Typecho文章内容分页插件修复版（适配Joe编辑器）
type: item
date: 2021-11-18T19:46:00+08:00
description: 前言最近在学习web开发，每天跟着教学视频学习，我觉得每一个都是重点，所以有很多学习笔记我将学习笔记放在了自己的博客，一是为了记录自己学习内容，二是为了复习方便但是最近学习DOM的时候，发现有很多要点，而我又不想将其分篇来写，所以导致一篇文章有很多内容内容一多，阅读的时候就很不方便，因为滚动条变小了，而且一直翻不到底也很容易让人放弃所以我就去寻找有没有将文章分页的方法，好不容易找到一个方法，但无奈自己才疏学浅无法将其应用到typecho上来只好退而求其次，寻找有么有现成的方法或者插件，功夫不负有心人，终于还是让我找到了一款插件但是版本很老，是2010年的一款插件，已经不支持typecho1.1了索性到google去找找，没想到意外发现了一位大佬修复了兼容1.1的问题可是由于版本较早，且当年互联网的技术和审美不如现在，所以虽然能用也还是存在一些小问题，比如支持第三方编辑器时，快捷插入键失效且显示在页面底部于是自己动手修复了一下，并对样式进行了一些修改，虽不够完美，但起码适配当前主题成果展示{tabs}{tabs-pane label="前端展示"}{/tabs-pane}{tabs-pane label="编辑器展示"}{/tabs-pane}{/tabs}插件下载本插件主要适配Joe主题，如其他主题需要使用，可以自行修改博主也可以提供一些小的技术支持，喜欢的话不妨打赏博主，万分感谢！

『原创』『教程』Typecho后台撰写文章时插入标签（非插件）
type: item
date: 2021-10-28T11:14:00+08:00
description: 前言每次写文章的时候，都忘记填写标签，因为typecho的标签默认不在后台展示，配置了哪些标签也很容易忘记然后就想着能不能在文章编辑时显示标签，方便写文章时能记得添上标签，所以就去找了几个教程刚开始找到一个教程，可以在编辑时显示标签，需要用时直接复制粘贴到标签栏，但是也很麻烦直到前几天逛博客时发现了一个插件，可以实现后台点击填入标签，打开插件发现功能实现方法很简单所以就把插件的实现方法移植到了后台程序里，在此记录一下效果展示教程开始其实很简单，直接把以下代码复制到 ./admin/write-post.php 指定位置就行了{tabs}{tabs-pane label="代码"}{hide} <?php _e('标签'); ?> <input id="tags" name="tags" type="text" value="<?php $post->tags(',', false); ?>" class="w-100 text" /> {/hide}{/tabs-pane}{tabs-pane label="代码位置"}{/tabs-pane}{/tabs}教程结束就这么简单，快去试试吧！

『转载』『教程』Joe主题新增首页文章分页功能
type: item
date: 2021-10-23T15:54:00+08:00
description: 前言转自执念博客，仅做备份！对于Joe主题无法实现分页按钮分页设计可能有很多人无法接受，本教程将实现首页分页按钮可实现分页功能成品效果{tabs}{tabs-pane label="前台"}{/tabs-pane}{tabs-pane label="后台"}{/tabs-pane}{/tabs}修改教程一、修改 index.php 文件修改 index.php ，文件路径： usr/themes/Joe1、第一部分：添加以下代码：{tabs}{tabs-pane label="代码"} {/tabs-pane}{tabs-pane label="添加位置"}{/tabs-pane}{/tabs}2、第二部分：替换以下代码，或者添加后注释掉原来的代码{tabs}{tabs-pane label="代码"}{hide} <?php if ($this->options->JPageStatus === 'default') : ?> <?php $this->pageNav( ' <path d="M822.272 146.944l-396.8 396.8c-19.456 19.456-51.2 19.456-70.656 0-18.944-19.456-18.944-51.2 0-70.656l396.8-396.8c19.456-19.456 51.2-19.456 70.656 0 18.944 19.456 18.944 45.056 0 70.656z"/><path d="M745.472 940.544l-396.8-396.8c-19.456-19.456-19.456-51.2 0-70.656 19.456-19.456 51.2-19.456 70.656 0l403.456 390.144c19.456 25.6 19.456 51.2 0 76.8-26.112 19.968-51.712 19.968-77.312.512zm-564.224-63.488c0-3.584 0-7.68.512-11.264h-.512v-714.24h.512c-.512-3.584-.512-7.168-.512-11.264 0-43.008 21.504-78.336 48.128-78.336s48.128 34.816 48.128 78.336c0 3.584 0 7.68-.512 11.264h.512v714.24h-.512c.512 3.584.512 7.168.512 11.264 0 43.008-21.504 78.336-48.128 78.336s-48.128-35.328-48.128-78.336z"/> ', ' <path d="M822.272 146.944l-396.8 396.8c-19.456 19.456-51.2 19.456-70.656 0-18.944-19.456-18.944-51.2 0-70.656l396.8-396.8c19.456-19.456 51.2-19.456 70.656 0 18.944 19.456 18.944 45.056 0 70.656z"/><path d="M745.472 940.544l-396.8-396.8c-19.456-19.456-19.456-51.2 0-70.656 19.456-19.456 51.2-19.456 70.656 0l403.456 390.144c19.456 25.6 19.456 51.2 0 76.8-26.112 19.968-51.712 19.968-77.312.512zm-564.224-63.488c0-3.584 0-7.68.512-11.264h-.512v-714.24h.512c-.512-3.584-.512-7.168-.512-11.264 0-43.008 21.504-78.336 48.128-78.336s48.128 34.816 48.128 78.336c0 3.584 0 7.68-.512 11.264h.512v714.24h-.512c.512 3.584.512 7.168.512 11.264 0 43.008-21.504 78.336-48.128 78.336s-48.128-35.328-48.128-78.336z"/> ',1,'...', array( 'wrapTag' => 'ul', 'wrapClass' => 'joe_pagination', 'itemTag' => 'li', 'textTag' => 'a', 'currentClass' => 'active', 'prevClass'…