discuz论坛突破门户推送标题与帖子内容长度的限制

Discuz的门户功能可以通过论坛的帖子快速打造一个门户站点,这是一个非常好用的功能。但是默认的程序限制标题长度为40 内容摘要长度为80。

如果做成门户型页面当然是没有任何问题,但是有些情况下我们可能需要做成类似wordpress的博客形式,这时候默认的标题与摘要长度就不够了。

下面就是介绍如何通过修改源码突破这个限制。这里以discuz X 3.1为例讲解,其他版本请参考修改

这个修改的地方比较多。一一来找

首先找到文件: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的推送数据吧。

未经允许不得转载:地下室先生博客 » discuz论坛突破门户推送标题与帖子内容长度的限制

赞 (0) 打赏作者

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏