首页
归档栏
优秀个人博客
时光机
Search
1
卢松松博客typecho主题
31,971 阅读
2
《绅士》typecho主题
30,396 阅读
3
typecho主题《tree》-响应式个人网站模板
29,280 阅读
4
利用伪静态实现阿里云虚拟主机建立多个网站
8,361 阅读
5
写在互联网30年:看看这些图片我们已经老了
7,413 阅读
学无止境
慢生活
模板分享
好文分享
相册
typecho
登录
Search
标签搜索
typecho
网站
个人博客模板
typecho主题
广告
地址
htaccess
代码
设计
欲望
时代
干掉
电报局
指南针
打字机
介绍所
网龄
藏经阁
知道
聊天
爱奇智
累计撰写
26
篇文章
累计收到
174
条评论
首页
栏目
学无止境
慢生活
模板分享
好文分享
相册
typecho
页面
归档栏
优秀个人博客
时光机
搜索到
26
篇与
» 爱奇智
的结果
2020-02-27
Typecho自定义调用如热门文章随机文章等
Typecho自定义调用这是面向模板开发者的一篇干货文章,通过学习下面的两个事例,你可以通过调整数据库语句来实现自定义调用文章,如随机文章等。调用热门文章在functions.php中加入如下代码class Widget_Post_hot extends Widget_Abstract_Contents { public function __construct($request, $response, $params = NULL) { parent::__construct($request, $response, $params); $this->parameter->setDefault(array('pageSize' => $this->options->commentsListSize, 'parentId' => 0, 'ignoreAuthor' => false)); } public function execute() { $select = $this->select()->from('table.contents') ->where("table.contents.password IS NULL OR table.contents.password = ''") ->where('table.contents.status = ?','publish') ->where('table.contents.created <= ?', time()) ->where('table.contents.type = ?', 'post') ->limit($this->parameter->pageSize) ->order('table.contents.views', Typecho_Db::SORT_DESC); $this->db->fetchAll($select, array($this, 'push')); } }然后在前台调用热门文章时就可以这样写了<?php $this->widget('Widget_Post_hot@hot', 'pageSize=6')->to($hot); ?> <?php while($hot->next()): ?> 文章链接:<?php $hot->permalink() ?> 文章标题:<?php $hot->title(); ?> <!--等等--> <?php endwhile; ?>这种写法非常原生,使用方法也同typecho调用某分类下的文章语法一致调用指定文章集合在functions.php中加入如下代码class Widget_Post_fanjubiao extends Widget_Abstract_Contents { public function __construct($request, $response, $params = NULL) { parent::__construct($request, $response, $params); $this->parameter->setDefault(array('pageSize' => $this->options->commentsListSize, 'parentId' => 0, 'ignoreAuthor' => false)); } public function execute() { $select = $this->select()->from('table.contents') ->where("table.contents.password IS NULL OR table.contents.password = ''") ->where('table.contents.type = ?', 'post') ->limit($this->parameter->pageSize) ->order('table.contents.modified', Typecho_Db::SORT_DESC); if ($this->parameter->fanjubiao) { $fanju=explode(",",$this->parameter->fanjubiao); $select->where('table.contents.cid in ?', $fanju); } $this->db->fetchAll($select, array($this, 'push')); } }然后在前台调用热门文章时就可以这样写了<?php $week1="728,1197";//指定文章id集合多个文章中间用英文逗号隔开 $this->widget('Widget_Post_fanjubiao@fanjubiao', 'fanjubiao='.$week1)->to($fanju); ?> <?php while($fanju->next()): ?> 文章链接:<?php $fanju->permalink() ?> 文章标题:<?php $fanju->title(); ?> <!--等等--> <?php endwhile; ?>这种写法非常原生,使用方法也同typecho调用某分类下的文章语法一致总结这样的写法只要懂得数据库语句,就可以定制各种自己所需的调用文章!语法贴近原生且内部支持调用各种函数,比如缩略图函数等等!来源:泽泽社长https://qqdie.com/archives/typecho-custom-call.html
2020年02月27日
6,034 阅读
7 评论
0 点赞
2020-02-24
typecho利用H5代码实现视频播放
前言HTML5 Video标签的使用,实现视频播放,这里我调用的是托管在Onedrive上的视频的地址,这里用的Video标签含有src、poster、preload、controls、width、height等几个属性亲测适用typecho。示例这里直接写个实例给大家看,其中的属性看下面的属性表格。实例<video width="100%" height="auto" poster="您的视频预显示图像" preload="none" controls="controls"> <source src="您的视频地址" /></video>演示属性值描述autoplayautoplay如果出现该属性,则视频在就绪后马上播放。controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。looploop如果出现该属性,则当媒介文件完成播放后再次开始播放。mutedmuted规定视频的音频输出应该被静音。posterURL规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。preloadpreload如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。srcurl要播放的视频的 URL。heightpixels设置视频播放器的高度。widthpixels设置视频播放器的宽度。结语注释:Internet Explorer 8 以及更早的版本不支持 <video> 标签。请使用现代主流浏览器。来源:喵斯基部落https://www.moewah.com/mip/69.html
2020年02月24日
3,433 阅读
1 评论
0 点赞
2020-02-10
个体创业的逻辑是什么?
个体创业的最极目标是:让自已变成值钱的超强个体,或IP,在圈子里有一定影响力,通过影响力,输出价值,将产品或服务(持续)变现。不过,这里有个前提就是:铺垫!我多次讲过的,创业最好从大二开始,自我培养,主要是三种能力:一是学习力,系统构建知识体系而不是完成学业;二是观察力,实地考察市场培养洞察能力;三是演讲力,力着培养口才和写作能力。这三种能力是创业基本功不是可有可无。当今社会,如果你既不是985之类的学业,也不是官二代,就很难找到像样的工作,多半会伦落到在小微企业间跳来跳去,35岁就没人要了,这是现实,大多数人,最终会走创业这条路。因此,趁早打好基础,创业才有可能水到渠成。@帽子哥-胡南方
2020年02月10日
3,527 阅读
1 评论
0 点赞
2020-02-10
用js+css3来写一个手机栏目导航
有些站长说想做一个手机适应的网站,但是导航太难了,如果要使用框架的话,代码非常多,冗余.再用dreamwear打开,那直接就不响应了.我一直都喜欢用简单的代码来实现,js,css3利用的好,同样可以做出好看实用的导航,关键是代码极少.现在我把步骤分享出来展开后:效果演示请缩小你的浏览器比例,或者直接用手机访问.思路是这样的:两个导航,一个用于手机端显示,一个用于电脑端显示.自适应的css代码,当media screen width<480px,则显示mnav,隐藏PC端的nav样式.按钮的动作:默认隐藏,动作点击后出现. 可以用×图标,或者css直接来写. 虽然用图片来比较简单,也不费事,但是css能实现就别用图片了,用css来实现吧.Html:<div id="mnav"> <h2><span class="navicon"></span></h2> <ul> <li><a href="/">网站首页</a></li> <li><a href="/">关于我</a></li> <li><a href="/">模板分享</a></li> <li><a href="/">学无止境</a></li> <li><a href="/">慢生活</a></li> <li><a href="/">博客导航</a></li> <li><a href="/">留言</a></li> </ul> </div>CSS:#mnav { display: none; width: 100%; position: fixed; top: 0; right: 0; } #mnav h2 { text-align: right; color: #fff; font-size: 18px; height: 40px; line-height: 40px; padding-left: 10px; width: 100% } #mnav h2.open { text-align: right; background: rgba(1,1,1,0.8); width: 100%; } #mnav ul { display: none; background: rgba(1,1,1,0.8); width: 100%; padding-bottom:40px} #mnav li { height: 40px; line-height: 40px; vertical-align: top; font-size: 16px; display: block; overflow: hidden; text-align: center } #mnav a:hover { color: #fff;} /* 默认= */ #mnav h2 .navicon { margin-right: 15px; } .navicon { display: inline-block; position: relative; width: 30px; height: 5px; background-color: #FFFFFF; } .navicon:before, .navicon:after { content: ''; display: block; width: 30px; height: 5px; position: absolute; background: #FFFFFF; -webkit-transition-property: margin, -webkit-transform; transition-property: margin, -webkit-transform; transition-property: margin, transform; transition-property: margin, transform, -webkit-transform; -webkit-transition-duration: 300ms; transition-duration: 300ms; } .navicon:before { margin-top: -10px; } .navicon:after { margin-top: 10px; } /* 展开后导航栏目 */ #mnav h2.open .navicon { background: rgba(1,1,1,0.8) }/* 使用背景色隐藏中间的红线 */ #mnav h2.open .navicon:before { margin-top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); } #mnav h2.open .navicon:after { margin-top: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } #mnav h2.open .navicon:before, #mnav h2.open .navicon:after { content: ''; display: block; width: 30px; height: 5px; position: absolute; background: #FFFFFF; -webkit-transition-property: margin, -webkit-transform; transition-property: margin, -webkit-transform; transition-property: margin, transform; transition-property: margin, transform, -webkit-transform; -webkit-transition-duration: 300ms; transition-duration: 300ms; } @media screen and (max-width: 480px) { nav { display: none } #mnav { display: block; z-index: 99999; margin-bottom: 30px } }JS:<script> window.onload = function () { var oH2 = document.getElementsByTagName("h2")[0]; var oUl = document.getElementsByTagName("ul")[0]; oH2.onclick = function () { var style = oUl.style; style.display = style.display == "block" ? "none" : "block"; oH2.className = style.display == "block" ? "open" : "" } } </script>来源:https://www.yangqq.com/jstt/css3/2018-03-14/806.html
2020年02月10日
5,293 阅读
5 评论
0 点赞
2020-02-10
Typecho根据文章cid获取文章信息
如上图,就是基于这个功能,实现的轮播图,填写了文章cid,获取了文章标题,描述,缩略图和链接。其实这个功能,应该有很多人发过,不过大多都是需要写查询函数的,我呢因为懒,所以经过试验发现了这种不用自己写函数的写法。代码如下代码,其中cid=1就是获取cid为1的文章信息,可以改成你需要获取的文章cid。<?php $this->widget('Widget_Archive@indexxiu', 'pageSize=1&type=post', 'cid=1')->to($ji); ?> 标题:<?php $ji->title(); ?> 链接:<?php $ji->permalink(); ?> 描述:<?php $ji->description(); ?> ...获取多个上边的截图,就是获取了三个文章,来实现的,代码如下,其中166,163,160就是对应的三个文章的cid<?php $lunbo="166,163,160"; $hang = explode(",", $lunbo); $n=count($hang); $html=""; for($i=0;$i<$n;$i++){ $this->widget('Widget_Archive@lunbo'.$i, 'pageSize=1&type=post', 'cid='.$hang[$i])->to($ji); if($ji->fields->thumb){$img=$ji->fields->thumb;} if($i==0){$no=" sx_no";}else{$no="";} $html=$html.'<div class="sx_vt'.$no.'" name="'.$i.'" title="'.$ji->title.'" intro="'.$ji->description.'" hsrc="'.$ji->permalink.'"><img src="./images/load.jpg" bsrc="'.$img.'" alt="'.$ji->title.'"></div>'; } echo $html; ?>原理就是利用for循环,来实现的多次点播。提示代码中的Widget_Archive@后面的参数可以随便写,同一个页面多次使用时参数不能相同,否则会重复输出同一条数据。来源:https://qqdie.com/archives/typecho-cidgetinfo.html
2020年02月10日
5,007 阅读
4 评论
0 点赞
1
2
3
...
6