0

我有一个 joomla 3.0 自定义模板,没有覆盖。我遇到的问题是打印、电子邮件和编辑图标不显示,而是以垂直列表的形式显示。另请注意,我在文章选项和菜单项中都启用了“显示图标”。我知道 default.php 中的代码是不显示这些图标的意思,见下文: -

<?php if (!$this->print) : ?>
        <?php if ($canEdit || $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
        <div class="btn-group pull-right">
            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <span class="icon-cog"></span> <span class="caret"></span> </a>
            <?php // Note the actions class is deprecated. Use dropdown-menu instead. ?>
            <ul class="dropdown-menu actions">
                <?php if ($params->get('show_print_icon')) : ?>
                <li class="print-icon"> <?php echo JHtml::_('icon.print_popup', $this->item, $params); ?> </li>
                <?php endif; ?>
                <?php if ($params->get('show_email_icon')) : ?>
                <li class="email-icon"> <?php echo JHtml::_('icon.email', $this->item, $params); ?> </li>
                <?php endif; ?>
                <?php if ($canEdit) : ?>
                <li class="edit-icon"> <?php echo JHtml::_('icon.edit', $this->item, $params); ?> </li>
                <?php endif; ?>
            </ul>
        </div>
        <?php endif; ?>
        <?php else : ?>
        <div class="pull-right">
        <?php echo JHtml::_('icon.print_screen', $this->item, $params); ?>
        </div>
    <?php endif; ?>

但是我在上面的代码中没有看到任何问题,我什至创建了覆盖并且仍然没有更改,这意味着模板不是问题。为什么会这样?我需要更改图像文件夹的位置吗?我应该怎么做才能用图标替换链接?

问候。

4

2 回答 2

5

我也一直致力于将 1.5 模板迁移到 3.0。图标消失的原因是 Joomla 不再使用它们或以相同的方式添加它们。在当前模板中,他们使用 Bootstrap 并且有充分的理由(如 bakual 所示)。如果您正在直接移植旧模板并希望保持旧的外观和感觉,您可以将以下 css 添加到您的模板中。

.pull-right{
    float:right;
}

.btn-group{
    position:relative;
    margin-top:-30px;
}

.btn-group ul{
    list-style:none;
    display: inline;
    padding-left:4px;
}

.print-icon{
    background: url(../images/printButton.png) no-repeat;
    height: 16px;
    width: 16px;
    overflow: hidden;
    display: inline-block;
}

.email-icon{
    background: url(../images/emailButton.png) no-repeat;
    height: 16px;
    width: 16px;
    overflow: hidden;
    display: inline-block;
}

.print-icon a,
.email-icon a{
    color:transparent;
}

您可能需要根据您的模板稍微修改数字并添加一些东西以获取我没有添加的其他图标,但至少您明白了。另外为了获得图标,我只是查看了该站点的旧版本并将它们复制到图像文件夹中的模板中。

于 2013-09-24T23:06:51.587 回答
1

默认输出使用引导标记。图标由 Icomoon 字体集生成,Bootstrap 中包含的 Javascript 会将列表一起包装到下拉菜单中。

如果您只看到这些项目的平面列表,则意味着您既没有加载 Bootstrap CSS,也没有加载 Bootstrap Javascript 框架。

可以使用 Javascript 框架加载JHtml::_('bootstrap.framework'); CSS 可以通过包含media\jui\css. 或者通过从media\jui\less.

于 2013-05-29T13:36:01.390 回答