灰儿 发表于 2017-4-27 11:04:05

Discuz教程:突破门户推送标题与帖子内容长度的限制

Discuz的门户功能可以通过论坛的帖子快速打造一个门户站点,这是一个非常好用的功能。但是默认的程序限制标题长度为40 内容摘要长度为80。如果做成门户型页面当然是没有任何问题,但是有些情况下我们可能需要做成类似wordpress的博客形式,这时候默认的标题与摘要长度就不够了。下面就是介绍如何通过修改源码突破这个限制。这个修改的地方比较多。一一来找首先找到文件:source/class/block/forum/block_forum.php 与文件:source/class/block/forum/block_thread.php找到代码:‘titlelength’ => array( ‘title’ => ‘forumlist_titlelength’, ‘type’ => ‘text’, ‘default’ => 40 ),将里面的40改成100。
然后找到:$titlelength = isset($parameter[‘titlelength’]) ? intval($parameter[‘titlelength’]) : 40;
将这里的40也修改成100.两个文件修改的一样,不再重复。然后找到文件:source/class/block/portal/block_article.php也是修改如同上面的东西,改成一样就行。再找到文件:source/function/function_block.php找到代码:$titlelength = !empty($block[‘param’][‘titlelength’]) ? intval($block[‘param’][‘titlelength’]) : 40;
将这里的40改为100;找到:if($str_template) {
$str_template = preg_replace(‘/title=[‘”]{title}[‘”]/’, ‘title=”{title-title}”‘, $str_template);
$str_template = preg_replace(‘/alt=[‘”]{title}[‘”]/’, ‘alt=”{alt-title}”‘, $str_template);
$rvalue[$k] .= str_replace($searcharr, $replacearr, $str_template);
$dynamicparts[$rkey[$k]] = array($rpattern[$k], $rvalue[$k]);
}修改为:if($str_template) {
$str_template = preg_replace(‘/title=[‘”]{title}[‘”]/’, ‘title=”{title-title}”‘, $str_template); $str_template = preg_replace(‘/alt=[‘”]{title}[‘”]/’, ‘alt=”{alt-title}”‘, $str_template);
$str_template = preg_replace(‘/{title}/’, ‘{title-title}’, $str_template);
$rvalue[$k] .= str_replace($searcharr, $replacearr, $str_template);
$dynamicparts[$rkey[$k]] = array($rpattern[$k], $rvalue[$k]);
}再找到文件:template/default/portal/portalcp_block_itemfields.htm找到:<!–{eval $_titlelength = !empty($block[‘param’][‘titlelength’]) ? $block[‘param’][‘titlelength’] : 40;}–>
将这里的40也改成100好了,刷新页面,重新修改diy的推送数据吧。

灰儿 发表于 2017-4-27 11:12:55

相关阅读:
Discuz教程:Discuz门户推送的文章摘要字数怎么修改?
http://www.admin365.cn/thread-40941-1-1.html
页: [1]
查看完整版本: Discuz教程:突破门户推送标题与帖子内容长度的限制