织梦cms 生成tags.php排版错乱怎么办

最近有不少网站管理员反映,使用织梦系统生成 tags.php 文件后,发现页面排版错乱,标签之间间隔不一致,甚至会导致变形。这个问题其实与织梦系统自带的 tags.php 代码有关,而我们则需要对其进行优化。

第一步:修改样式表

在织梦系统自带的 tags.php 文件中,样式表的布局方式是采用表格的形式,这种布局方式容易导致标签之间的间隔错乱,造成页面排版不美观,甚至会出现内容重叠的问题。我们可以采用 DIV+CSS 的布局方式,将样式表的代码修改如下:

.tagcloud {

    margin: 0;

    padding: 0;

    font-size: 14px;

    line-height: 24px;

    text-align: justify;

}.tagcloud a {

    display: inline-block;

    margin: 0 5px 5px 0;

    padding: 4px 10px;

    background-color: #f2f2f2;

    border-radius: 3px;

    color: #666;

    text-decoration: none;

    -webkit-transition: color .2s linear, background-color .2s linear;

    transition: color .2s linear, background-color .2s linear;

}.tagcloud a:hover {

    background-color: #3498db;

    color: #fff;

}

 

第二步:修改 PHP 代码


在 tags.php 文件中,用于显示标签的代码如下:

1

2

3

$tagsql = "SELECT tag,counts FROM `58pic_tagindex` WHERE tag!='' ORDER BY counts DESC";

$dsql->SetQuery($tagsql);

$dsql->Execute();

这段代码其实是从织梦系统的数据库中读取标签信息,然后按照标签的使用频率进行排序,以便显示。但是这段代码中没有对标签之间的间距做出处理,导致页面排版出现了问题。我们可以在代码中加入一个变量 $i,用于记录循环的次数,然后根据 $i 的值来调整标签之间的间距,代码如下:

$tagsql = "SELECT tag,counts FROM `58pic_tagindex` WHERE tag!='' ORDER BY counts DESC";$dsql->SetQuery($tagsql);$dsql->Execute();$i = 1;while($row = $dsql->GetArray())
{
    $tagname = $row['tag'];
    $counts = $row['counts'];
    if($i == 1)
    {
      echo "<div class='tagcloud'>";
    }
    echo "<a href='tag-".$tagname.".html'>".$tagname." (".$counts.")</a>";
    if($i % 10 == 0)
    {
        echo "<div style='clear:both;'></div>";

    }
    $i++;
    if($i > 100)
    {
        break;
    }
}if($i > 1)

{
    echo "</div>";

}

 

修改后的代码中,我们在循环开始时增加了一个 DIV 标签,用于包裹整个标签云,然后根据 $i 的值来控制每个标签的样式,包括宽度、高度、外边距、内边距等,从而实现了标签之间的间隔调整。因为每一行最多显示 10 个标签,所以在 $i 为 10、20、30 …… 时,我们添加了一个 DIV 标签来清除浮动。


第三步:优化 HTML 代码

在修改 PHP 代码之后,我们也需要对 HTML 代码进行优化,以使页面排版更加美观。我们可以修改 tags.php 文件中的 HTML 代码,将标签云显示在独立的容器中,这样可以有效控制标签云的大小、位置和布局。代码如下:

<div class="tagcloud-wrapper">    <h3>标签云</h3>    <?php    // PHP 代码    ?></div>

 

这段代码会将标签云显示在一个名为 tagcloud-wrapper 的 DIV 容器中,我们可以在样式表中对该容器进行优化,以达到更佳的效果。


综上所述,我们通过修改样式表、PHP 代码和 HTML 代码,可以有效解决织梦系统中生成 tags.php 文件所导致的排版错乱和样式问题。改善后的标签云不仅更加美观,而且也更容易被搜索引擎索引,提高了网站的搜索引擎优化效果。


加载中~