Joomla 3.0模板未显示打印,电子邮件和编辑图标

时间:2013-05-28 20:07:08

标签: article joomla3.0 overrides

我有一个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; ?>

但我发现上面的代码没有问题,我甚至创建了覆盖,但仍然没有改变,这意味着模板不是问题。为什么会这样?我是否需要更改图像文件夹的位置?我该怎么做才能用图标替换链接?

问候。

2 个答案:

答案 0 :(得分: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;
}

根据你的模板,你可能需要按一下这些数字并添加一些东西来获得我没有添加的其他图标,但你至少得到了这个想法。另外,为了获取图标,我只看了一个旧版本的网站,并将它们复制到图像文件夹中的模板中。

答案 1 :(得分:1)

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

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

可以使用JHtml::_('bootstrap.framework');加载Javascript框架 可以通过media\jui\css中包含的其中一个文件加载CSS。或者通过media\jui\less中的LESS文件编译自己的文件。