本文首发自:maomao.ink
文/毛毛
这个功能一直是我想要的,我习惯写完文章发布之后,再通读一遍看看有没有错别字,如果有的话直接修改是最好不过了。来Typecho也有一个礼拜了,至今苦于这个功能的缺失。
接连找了几天都没找到解决办法之后,今天去求助了博友“烟城听雨”。
跟他说了我的烦恼之后,没过多久他就扔给我一个链接,里面正是我想要的答案。拿到别人的方案,再结合自己的情况,稍作修改,就有了简书版的编辑功能啦~
果然比自己苦闷着挖空脑袋强!
效果看这里
下面奉上我的代码实现
在文章页所在的php文件里需要显示按钮的位置加入以下代码:
<div class="edit">
<?php if($this->user->hasLogin()):?>
<a href="<?php $this->options->adminUrl(); ?>write-post.php?cid=<?php echo $this->cid;?>" target="_blank">编辑</a>
<?php endif;?>
</div>
代码含义:
<?php if($this->user->hasLogin()):?>
——判断是否登录,只有登录之后才显示按钮,由于我只有一个用户,所以这个判断就够用了。<?php $this->options->adminUrl(); ?>
——动态获取用户的后台系统admin地址。<?php echo $this->cid;?>
——动态获取当前文章的cid,也就是文章的唯一标识,有了它才能实现梦想。
CSS样式
上面代码复制进去就有按钮了,只是没有样式不太好看,下面附上我效果图上的按钮样式:
.edit a{
width: 80px;
height: 32px;
float: right;
border: 1px solid #ddd;
border-radius: 10px;
color: #969696;
font-size: 13px;
text-align: center;
line-height: 30px;
}
我以前有设想过,能不能基于现有的 typecho 的数据库和数据查询驱动,实现一套前后端分离的接口,是否是 restful 也无所谓。内容的显示,完全由前端去完成即可。只是没有时间去搞这种东西了。。。
听起来是个很庞大的工程啊,现有的不算前后端分离的形式吗。
现在所有的前端代码还是糅杂到了 php 里面了,我已经很久没写过这种前后端代码糅在一起的开发形式了。
原来是这样,php确实不算纯前端,但是我觉得页面代码也不会经常去动,重新写一套工程量太大了。