1、修改视图文件程序 admin/wirte-post.php打开这个文件找到合适的位置,添加个input框,用来输出阅读参数,我是放在日期下方的。
<!--新增文章默认阅读量开始-->
<section class="typecho-post-option">
<label for="views" class="typecho-label"><?php _e('随机阅读数'); ?></label>
<p><input type="text" id="views" name="views" value="<?=$post->views?($post->views):rand(39,299)?>"></p>
<p class="description"><?php _e('默认自动生成,也可手动修改'); ?></p>
</section>
<!--新增文章默认阅读量结束-->
2、修改表单接收参数程序文件
/var/Widget/Contents/Post/Edit.php
大概在719行,默认views字段为0,所以表单里面没有这个字段
原内容:
$contents = $this->request->from('password', 'allowComment','allowPing', 'allowFeed', 'slug', 'tags', 'text', 'visibility');
修改为:
$contents = $this->request->from('password', 'allowComment','allowPing', 'allowFeed', 'slug', 'tags', 'text', 'visibility','views');
3、修改文章增改查程序文件 /var/Widget/Base/Contents.php 原内容:
public function select(): Query
{
return $this->db->select(
'table.contents.cid',
'table.contents.title',
'table.contents.slug',
'table.contents.created',
'table.contents.authorId',
'table.contents.modified',
'table.contents.type',
'table.contents.status',
'table.contents.text',
'table.contents.commentsNum',
'table.contents.order',
'table.contents.template',
'table.contents.password',
'table.contents.allowComment',
'table.contents.allowPing',
'table.contents.allowFeed',
'table.contents.parent'
)->from('table.contents');
}
修改为:
public function select(): Query
{
return $this->db->select(
'table.contents.cid',
'table.contents.title',
'table.contents.slug',
'table.contents.created',
'table.contents.authorId',
'table.contents.modified',
'table.contents.type',
'table.contents.status',
'table.contents.text',
'table.contents.commentsNum',
'table.contents.order',
'table.contents.template',
'table.contents.password',
'table.contents.allowComment',
'table.contents.allowPing',
'table.contents.allowFeed',
'table.contents.parent',
'table.contents.views'
)->from('table.contents');
}
继续修改本文件,在插入、更新方法中增加views参数获取,示例:
'views' => empty($rows['views']) ? 0 : intval($rows['views'])