含有‘DEDECMS’关键字的文章列表
发现DEDE有点烂了
暂时没有留言用的越多,就发现DEDE的毛病越多,特别是在模板和程序执行效率上面。
今天发现给别人做的东西在文章列表页面不能按照设定的方式来排序,例如发布时间,点击量之类的,随便你按照它的模板手册来改都没有用。后来火了,直接看它的程序,才发现inc_arclist_view.php有这样一段:
- //排序方式
- //为了确保系统稳定性,本版在 list 标记中禁用 orderby 属性
- /*-----------------------------------------
- if($orderby=="senddate") $ordersql=" order by arc.senddate $orderWay";
- elseif($orderby=="pubdate") $ordersql=" order by arc.pubdate $orderWay";
- elseif($orderby=="id") $ordersql=" order by arc.ID $orderWay";
- elseif($orderby=="hot"||$orderby=="click") $ordersql = " order by arc.click $orderWay";
- elseif($orderby=="lastpost") $ordersql = " order by arc.lastpost $orderWay";
- elseif($orderby=="postnum") $ordersql = " order by arc.postnum $orderWay";
- elseif($orderby=="digg") $ordersql = " order by arc.digg $orderWay";
- elseif($orderby=="diggtime") $ordersql = " order by arc.diggtime $orderWay";
- else
- -----------------------------------------*/
- $ordersql=" order by arc.pubdate $orderWay";
顿时无语了,改之,一切正常。
SyntaxHighlighter–用JS来高亮你的代码!
3条留言一直在研究DEDECMS,但是对于我这种人来说他的编辑器很是恼火,因为我时常需要在文章里面贴代码,而DEDE里面用的FCDEditor是改装版的,我改起来非常之麻烦,曾经尝试过用FCK自带的代码高亮效果,但是没有用,昨天看到一个叫SyntaxHighlighter的东西,JS的,用起来效果非常之好,我就想能不能移植到DEDE上呢?
SyntaxHighlighter用起来十分之简单,只需要导入CSS文件和相应的JS文件,然后把代码放到<pre></pre>部分中再定义一下就好了,例:
DEDECMS文章动静态设置
暂时没有留言貌似通过后台设置还有BUG,不过可以这样设置:
将所有文档设置为“仅动态”,
update dede_archives set ismake=-1将所有栏目设置为“使用动态页”,
update dede_arctype set isdefault=-1
DEDECMS标题最多为80个字的修改方法
暂时没有留言今天发现DEDECMS很奇怪,标题最长只能有80个字,而且好像还不是汉字的计数,汉字更少。又要自己改程序了,晕......
1.修改表结构:
ALTER TABLE `dede_archives` CHANGE `title` `title` VARCHAR( 200 );
ALTER TABLE `dede_full_search` CHANGE `title` `title` VARCHAR( 200 );
2.修改程序:
打开dede\action\article_eidt_action.php
找到44行 Copy codeCopy code$title = cn_substr($title,80);
删除此行代码,
或者修改为 Copy codeCopy code$title = cn_substr($title,200);
收工!
DEDE文章页里显示栏目的方法
暂时没有留言文章页里没有单独的标签用于显示栏目名称,也不能用{dede:filed name=’****’ /}这种形式,因为在archives表及其附加表中没有栏目名称这个字段。那么,我们如何在文章页显示栏目名称呢?我们可以用有附加函数的标签。那么我们首先需要自己编写一个函数,用来处理标签里的内容。
function My_GetCName($typeid){
$dsql = new DedeSql(false);
$row = $dsql->GetOne(”select typename From #@__arctype where ID=$typeid; “);
return $row[’typename’];
}
将这个函数加到 网站目录\include\inc_functions.php 这个文件中。
在文章页模版中需要引用栏目标题的地方加入这个标签。
{dede:field name=’typeid’ function=’My_GetCName(@me)’/}