手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:typecho

typecho 插件开发(三)

在typecho开发插件的时候,很有可能会用到关联插件(即,部分信息需要从其他插件里来读取)因此,在插件激活的时候就得先判断是否关联插件已经启用。

最初我的代码是:

PHP代码
  1. $mailOptions = Typecho_Widget::widget('Widget_Options')->plugin('CommentToMail');  
  2. if(emptyempty($mailOptions)){//这里会出现两个empty,这是编辑器的关系,代码中只有一个  
  3.     throw new Typecho_Plugin_Exception(_t('对不起,数据库备份插件需启用CommentToMail插件。'));  
  4. }  
但是在这样处理的时候,会提示“找不到CommentToMail插件的配置信息”,直接就抛出异常

于是代码改成:

PHP代码
  1. try{  
  2.     $mailOptions = Typecho_Widget::widget('Widget_Options')->plugin('CommentToMail');  
  3. }catch(Exception $e){  
  4.     throw new Typecho_Plugin_Exception(_t('对不起,数据库备份插件需启用CommentToMail插件。'));  
  5. }  

于是这样的出错提示信息就较为友好了。

由于关联了其他插件,因此在处理的时候,还要再判断这个$mailOption是否存在,因此我把它设为了protected static $mailOptions,然后在要处理的页面会判断这个变量是否为empty。如果是后台处理就抛出异常,前台处理则直接return;不作继续

Tags: typecho, 插件, 技巧

四季网

一大早小茗就在QQ上告诉我他的四季网终于开始折腾并部分上线了。兴冲冲的走过去一看,原来他的四季网目前就提供了手机软件下载。

略微瞅了一下,内容还并不是太多,不过已经有点框架在了,主要还是针对一些智能机了(旁白:废话,不是智能机有必要下载手机软件吗)。默认是HTC品牌,难道是想乘着HTC最近高调进入国内而开始主打这个分类?

不过据我知道的,小茗的手机本身也就是HTC的,当然,我的也是。只是他是WM系统而我是android系统。

正因为我是HTC android的系统,找到左边的G2分类,看了看软件,嗯。还是有一些值得看看的,平时不太注意,但有可能有用的软件上面还是不少【虽然market上有分类,但毕竟不象下载站那些会分的很细】

点开每个软件的页面,还是比较简陋。不过小茗也说了最近公司在忙,忙完这段时间就开始折腾页面了。对于一个专业人士来说,做点页面当然不是问题。。

最后看了一下博客,本以为他会把最新更新和想法之类的写在博客里。却看到了typecho这个。用的是m4的模版。额,大吃一惊。

不管怎么样,还是希望小茗这个暂时只有手机软件下载的四季网能够发展起来吧。要知道如今有想法想做一个站的人已经是越来越多,但真正能够成功的却廖廖无已了。

Tags: 四季网, 4gcn, typecho

typecho SVN更新

这样typecho的SVN源代码更新对我来说,有几个比较重要的地方。其中有一点就是我向70提出来的(我无法改源码)
1、需要能够对插件变量直接修改值,而不是通过config方法的form方式提交(其实我是想用在数据库备份插件中的,记录上次备份时间,以前的话,恐怕只能到option表里找到这个key,并且update这个key对应的value了),该方法目前存在于Helper类中。
2、修正附件的所有权(r1449)

多看看project页面的source中的change,可以看到更多修改记录。好象你有意见也可以去issues里面提(一个人更新。太慢了。。。)

Tags: typecho, svn, 插件

typecho 插件开发(二)

纠结在写typecho的dbbackup这个插件上很久了,主要是为了两件事:
1、不想让用户设置的变量,无法自由设定(关于这点,我其实很能理解,不需要用户设置的变量,如果不在config类里被定义,那么在deactitave的时候,是否能够被正常删除?)

2、Db config 无法获取(本来我以为备份sqlite是最简单的事情,只要把db文件打个包,当成附件发送一下就完事了。但事实上,我无法通过程序获取到这个Db文件,因为_config变量是protected的,也没有任何函数可以重新获取这个$_config变量)

所以现在,我还是决定

1、设置变量,但要求用户不要修改。或者允许他们置为空(置为空的时候,直接就是相当于执行备份操作)

2、不管是sqlite 还是 mysql 都采用PHP导出成sql文件的方式,然后再打包发送

当然,还只是构思,并没有实现,尚在慢慢实现中。。。因为要期末考试了,时间也不多,还得带孩子。oh oh oh ....

顺便,sluke说的页面关键字高亮,我以为是有这个插件的,看了一下是Tag高亮,其实也差不多。其实,也就是在搜索的时候,我支持一下Referer就可以实现了。

Tags: typecho, 笔记, 插件, dbbackup

typecho 插件:搜索来源关键字高亮

这个typecho插件也是前两天我发布的,我因为没办法测试,所以一直不知道原来我犯了一个最大的错误(单词写错了,我把highlight我写成了hightlight),所以。。。一直无法显示成功,羽中提出了这个问题后,我好好的看了一下源码,才发现这个不是bug,但是是错误的代码。

郁闷啊。太丢人了。

最后再说明一下插件的功能:

0.1.2 増加网站内部搜索关键字高亮

0.1.1

对于从百度、google、yahoo搜索来的链接中的关键字进行高亮,仅有一种黄色背景。因为他本来也是我作为一个试手的作品。

不过,如果真要使用,请还需要手动在您的CSS中加上:

<style type="text/css">.searchword { background-color: yellow; }</style>

也就是说,你可以自己修改searchword这个CSS。如果您不愿意添加这个样式,你可以把我的代码中关于style的注释去掉就可以了。

请下载更新,谢谢:

0.1.2 highlightsearchkeywords.rar 【注意,如果更新此插件,请务必更新内容分页SplitArchivePage 插件到0.1.5版本或以上】

0.1.1 highlightsearchkeywords.rar

Tags: typecho, 插件, 关键字, 高亮

Records:191234