排行榜 统计
  • 建站日期:2020/07/11
  • 文章总数:151 篇
  • 评论总数:184 条
  • 分类总数:5 个
  • 最后更新:1月17日

typecho添加用户个人签名功能

本文阅读 3 分钟
首页 typecho 正文

本文最后更新于2022年12月23日, 已超过540天没有更新。 如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

教程开始

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

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

1556520289.jpg

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

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

    `intro` text NOT NULL,

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

3.继续看/Widget/Users/Profile.php文件,找到272行,用户更新的方法里面,看到“取出数据”这条注释,修改它下面的原本那条代码,改为如下:

    $user = $this->request->from('mail', 'screenName', 'url', 'intro');

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

    $intro->value($this->user->intro);

1556520969.jpg

4.经过上述那些步骤之后,一整个字段定义,入库流程就完成了,而前台的调用也很简单,基本上就是完全按照typecho默认的格式,代码如下:

    <?php $this->user->intro(); ?>   //当前登录用户签名
    <?php $this->author('intro'); ?>   //文章作者签名
本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
给博客添加夜间/护眼模式
« 上一篇 10-10
为主题添加人生倒计时
下一篇 » 10-16