最近需要实现的一个需求,本来我想通过插件的形式实现,然而typecho的个人设置页面没有可以调出代码的钩子,研究来研究去,还是决定改内部程序了,毕竟以实现需求为主要目的,而非在维持程序不变的情况下。所以,就开始动手修改了,我也不打算写太多代码,因为typecho内置的方法和接口已经非常强大,没有必要再自己写重复的东西,在花了几十分钟,简单看了看Widget原有的写法后,功能完美实现了。

网上并没有相关的教程,所以我能参考的只有typecho的原本代码,目前typecho1.0以上版本都可以使用。

教程开始

1.首先,需要在后台个人设置页面增加一个输入框(别想着在admin/profile.php这个文件改,那是最笨的办法),编辑/Widget/Users/Profile.php,找到57行点子邮件地址那些表单的代码下面,插入如下代码:/** 个人简介 */

$intro = new Typecho_Widget_Helper_Form_Element_Textarea('intro', NULL, NULL, _t('个人简介'), _t('个人简介作为此用户对于自己的简单介绍.').'
' . _t('字数请不要太多,适中即可.'));

$form->addInput($intro);

就这样,一个name等于intro的Textarea文本框就出现在界面上了,刷新个人设置界面就能看见,不过现在填写提交都是没有用的,因为并没有进入数据库,所以下一步就是添加数据库字段了。

2.打开phpmyadmin或者其它数据库管理工具,编辑typecho_users表结构,在其中新增intro字段,类型我省事写成了text。如果是一个还未安装的typecho,可以直接编辑typecho的install文件夹里面的mysql.sql,找到typecho_users这个表的代码,同样的,在邮箱的字段底下加一行如下代码:`intro` text NOT NULL,

已经在运行中的网站通过phpmyadmin修改后就行了,没有的就安装上述修改sql文件,然后执行typecho安装后,会自动出现字段。然而,到这里,用户的提交仍然是无用的,因为我们还没有把入库的字段加入typecho默认的方法

3.继续看/Widget/Users/Profile.php文件,找到272行,用户更新的方法里面,看到“取出数据”这条注释,修改它下面的原本那条代码,改为如下:$user = $this->request->from('mail', 'screenName', 'url', 'intro');

然后继续找到78行位置,那里有输入框调用数据库值得定义,不写的话,就算提交进入数据库,前台也看不见效果,所以加上一条。$intro->value($this->user->intro);

4.经过上述那些步骤之后,一整个字段定义,入库流程就完成了,而前台的调用也很简单,基本上就是完全按照typecho默认的格式,代码如下:<?php $this->user->intro(); ?> //当前登录用户签名

<?php $this->author('intro'); ?> //文章作者签名

规则之树版权所有,转载请注明来源,标明作者及原文链接

打赏

支付宝支付

您的大名:

1 元

5 元

10 元

20 元

50 元

100 元

万水千山总是情,给个打赏行不行。

打赏

原创文章,作者:不暇,如若转载,请注明出处:https://www.ruletree.club/archives/1168/

mysql数据签名功能_typecho添加用户个人签名功能,具体实现相关推荐

  1. MySQL数据项目分析实战——淘宝用户行为分析

    MySQL数据项目分析实战--淘宝用户行为分析 一.项目背景 二.项目目标 2.1分析目的 2.2分析维度 三.数据的收集与整理 3.1数据来源 3.2数据说明 3.3理解数据 3.4导入数据 四.数 ...

  2. mysql删除赋权_mysql 添加用户 删除用户 赋权

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  3. 谷歌眼镜入华被指功能缩水 国内用户:很多功能用不了

    谷歌眼镜 新一代谷歌眼镜 4 月 16 日在美国向美国公众开放购买资格,售价 1500 美元(约合人民币 9330 元). 据谷歌 4 月 17 日公布的参数配置,谷歌眼镜拥有一个 500 万像素的摄 ...

  4. mysql数据库腾讯云添加用户,解决腾讯云cdb的基础版mysql不支持新建账号

    腾讯云一贯被叫良心云,确实挺良心的,机器稳定,工单响应快,各种各样的活动不停.我也入手了不少的机器. 刚新入手了一个基础版的cdb云数据库,才3块钱一个月,一口气买了3年,美滋滋. 去到网页控制面板, ...

  5. php实现关键字搜索mysql数据_PHP实现多个关键词搜索查询功能示例

    本文实例讲述了PHP实现多个关键词搜索查询功能.分享给大家供大家参考,具体如下: PHP对于数据库的搜索主要通过使用SQL语句中的like子句来实现.如果同时搜索多个关键词,可以使用union子句来将 ...

  6. java 自动登录功能_jsp实现用户自动登录功能

    理解并掌握cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果 当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息.通过设置cookie的有效 ...

  7. 【在表格下方创建“添加”按钮,完成添加用户信息,点击后自动添加等功能】

    视频教程 在Tab表格下方建立一个添加按钮,实现在页面上添加用户信息的功能 1.在elementUI中找到Click,当前使用的是第一种效果,复制 2.在表单下面:创建按钮.复制代码. 3.修改 绑定 ...

  8. 家用电器用户行为分析与事件识别_数据产品指北:用户行为分析平台

    本篇主要介绍了一些在用户行为分析平台中应用最广的产品功能和分析方法,包括:用户分群.留存分析.转化分析.行为路径分析和事件分析,与大家分享,供大家一同参考和学习. 相比于传统行业,用户行为分析平台可能 ...

  9. Vue编写添加用户的表单 ~ 不要错过哦

    在写项目的过程中遇到了添加用户信息的功能,今天写出来和大家分享. 希望可以帮助到有需要的小伙伴 文章目录 使用element-ui实现布局和样式 javascript中的数据.数据的校验规则 以及 方 ...

最新文章

  1. Redis使用认证密码登录
  2. js字符串转化为方法调用
  3. 图解Silverlight 3的7个新功能
  4. Less学习笔记 -- Mixins(混合)一
  5. 一般入职体检都有哪些项目_单位常规体检一般都需要检查哪些项目?
  6. ANSYS2020R2与Solidworks2019进行关联,但2019安装完后打开出现无法获得下列许可SOLIDWORKS Standard.使用许可文件不支持此版本(-21,126,0)
  7. rdd.foreach(print)报错SyntaxError: invalid syntax
  8. (26)System Verilog设计自动饮料机
  9. 内容为王时代“内卷”急,安全风控一旦疏漏很要命!
  10. python中darks_YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口
  11. 伺服电机算功率基本公式_伺服电机功率计算选型.ppt
  12. 算法竞赛---day2(等差素数列)
  13. 安装最新版 MySQL 8.0.30
  14. 输出阻抗与输入阻抗详解
  15. 魔兽争霸III冰封王座宽屏分辨率的修改方法
  16. Codeforces 760B Frodo and pillows【贪心+二分】
  17. CHM文件制作方法及制作中遇到的坑
  18. 常用的几个好用的php集成开发环境
  19. “遛狗不牵绳-违法”--遛狗不牵绳识别检测 助力智慧城市犬类管理
  20. 生信技能树linux虚拟机,科学网—Windows10安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机 - 刘永鑫的博文...

热门文章

  1. PDF怎么转成PPT文件免费?分享几个方法!
  2. PyCrypto密码学库源码解析(二)RSA参数生成
  3. 2020年度流行语最新出炉,我打赌你全都用过!
  4. C++中发声函数Beep详解
  5. Tif 格式转 JPG、PNG
  6. 全网最全的 php8 新特性
  7. H5中<img>的srcset、size属性及<picture>介绍
  8. 【iOS开发】-UIViewController加载过程和生命周期
  9. 浅谈小程序开发遇到过的问题
  10. 华为原厂预装系统出厂系统全系列恢复镜像安装