首页 > 模块 > 文章模块修改手记

文章模块修改手记

2009年5月1日 nhuang

对于joomla的最新文章模块,一直不太满意 ,因为南荒工作室需要达到,首行文章要居中字体变大,类似于很多新闻网站的显示方式一样,第一行文章突出显示.然后下面的列表文章前面加上分类名.

于是便对joomla的最新文章进行几处修改,便达到目的,先打开modules/mod_lastnews/helpr.php找以代码:

' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.

' FROM #__content AS a' .

替换为:

' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug,'.
' cc.title as catitle'.
' FROM #__content AS a' .

找到:

$lists[$i]->text = htmlspecialchars( $row->title );

在后面加上一句:

$lists[$i]->title = htmlspecialchars($row->catitle);

这样话从数据读取分类名已经完成,现在只需将他显示出来即可,打开modules/mod_lastnews/tmpl/default.php

<?php // no direct access
defined('_JEXEC') or die('Restricted access');
$k = 0;
if ($k == 0)
?>
<div id ="nlast"><a href="<?php echo $list[$k]->link;?>">
<?php echo $list[$k]->text;?></a></div>
<?php
$k++;

?>

<ul>
<?php for($k;$k<count($list); $k++) { ?>
<li>
<a href="<?php echo $list[$k]->link; ?>">
<?php echo '['.$list[$k]->title.']'.$list[$k]->text; ?></a>
</li>
<?php } ?>
</ul>

显示问题也已解决,再将以下CSS代码复制粘贴到默认模板的CSS文件里:

#nlast {
    text-align:center;
	line-height:60px;
	font-size:18px;
	font-weight:bold;

}
#nlast a {
	color:#0000FF;
	text-decoration: none;
}

#nlast a:hover, a:active, a:focus {
	color:#03037b;
	text-decoration: none;
}

这样最新模块就已经改造完成,具体效果请查看南荒工作室首页

No related posts.

本文的评论功能被关闭了.