为什么通过ajax输出 文章内容 所有的p都不见了

Bug,需求以及想法
回复
leeluolee
帖子: 32
注册时间: 2011年 1月 26日 09:06
联系:

为什么通过ajax输出 文章内容 所有的p都不见了

帖子 leeluolee »

代码: 全选

 $text= $db->fetchRow($db
                                    ->select('table.contents.text')->from('table.contents')
                                    ->where('table.contents.cid = ?', $v['cid'])
                                    ->where('table.contents.type = ?', 'post'));
//然后将$text['text']push进json对象,输出的文章内容的<p></p>标签对全部消失

这个是什么原因呢 用stack数组中的 text输出也是一样
leeluolee
帖子: 32
注册时间: 2011年 1月 26日 09:06
联系:

Re: 为什么通过ajax输出 文章内容 所有的p都不见了

帖子 leeluolee »

已解决...
头像
binjoo
帖子: 824
注册时间: 2009年 9月 11日 11:13
来自: digu.plus
联系:

Re: 为什么通过ajax输出 文章内容 所有的p都不见了

帖子 binjoo »

为啥??
说下解决办法。
头像
ClayMore
帖子: 2483
注册时间: 2007年 11月 29日 02:55
来自: Sleeping Forest
联系:

Re: 为什么通过ajax输出 文章内容 所有的p都不见了

帖子 ClayMore »

LZ的BLOG有点技术含量
leeluolee
帖子: 32
注册时间: 2011年 1月 26日 09:06
联系:

Re: 为什么通过ajax输出 文章内容 所有的p都不见了

帖子 leeluolee »

具体方法就是
使用content而不是text使用, 因为在输出时 Typecho自动做了一些处理 你可以看到数据库中 text也是裸的 没有<p>
但是content是处理过后的 ,但是每个分页的stack堆栈中没有content这个参数 所以如果必须在ajax分页函数中必须再传入每个分页的$this,这当然是不太优雅方法 ,需要在方法内迭代,但是确实解决了问题

要使用ajax 基本很多的Widget都无法使用 因为ajax是用json对象传递参数 但是可以通过看typecho的 源码来手动在自定义的函数中使用
列几个比较重要的类供提问的那个兄台参考一下
Widget_Abstract_Contents 可以通过扩展这个类 模仿那个Widget_Contents_Post_Recent 来实现自定义的Contents选择
当然在添加自己的类必须把原来的包做好备份
Typecho_Db 这个不需要说了
Typecho_Common 里面很多实用的静态方法

还有诸如Widget_Abstract_Comments之类的在设计ajax评论都是必须看的类
回复