Joomla中包含HTML的工具提示

时间:2013-12-23 22:51:53

标签: javascript joomla tooltip

我使用Component Creator为Joomla 3.X

创建了一个组件

问题是在网站上工具提示显示html代码。例如:

<strong>Title</strong><br/>Description

相反,在管理员上,他们会正确显示:

  

标题

     

描述

我正在查看文档herehere,似乎可以在调用工具提示函数时定义输出格式,但组件内部没有调用该函数。我在视图文件的开头看到的唯一调用是JHtml::_('behavior.tooltip');,并且不知道如何指定输出格式。

该网站位于以下网址:

http://50.87.185.99/colombianadederecho_blank/index.php/administradores-ph/registrarse

加了:

似乎在为每个字段构建标签时调用代码:

<div class="control-group">
    <div class="control-label"><?php echo $this->form->getLabel('document'); ?></div>
    <div class="controls"><?php echo $this->form->getInput('document'); ?></div>
</div>

它存储在title属性中:

title="&lt;strong&gt;Title&lt;/strong&gt;&lt;br /&gt;Description"

所以,我认为问题出在Javascript函数中,可能使用.text()jQuery函数而不是.html()。

检查源代码我发现了这个,但不明白为什么它不能正常工作:

window.addEvent('domready', function() {
            $$('.hasTip').each(function(el) {
                var title = el.get('title');
                if (title) {
                    var parts = title.split('::', 2);
                    el.store('tip:title', parts[0]);
                    el.store('tip:text', parts[1]);
                }
            });
            var JTooltips = new Tips($$('.hasTip'), {"maxTitleChars": 50,"fixed": false});
        });

jQuery(document).ready(function() {
    jQuery('.hasTooltip').tooltip({"html": true,"container": "body"});
});

解决方案: 正如@ilias发现这是图书馆之间的问题。我不得不使用这个plugin在标题中禁用引导调用,并从正文的末尾调用它:

<script src="/site/media/jui/js/bootstrap.min.js" type="text/javascript"></script>

1 个答案:

答案 0 :(得分:1)

我不知道Component Creator生成的代码,但我假设工具提示与管理员视图中的相似。如果是这种情况,你应该检查这样的事情:

<button type="submit" class="btn hasTooltip" title="<?php echo JHtml::tooltipText('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i></button>

并将JHtml::tootlipText()的内容括在strip_tags()

否则,请尝试查找显示标记的行<strong>Title</strong><br/>Description,并将其括在strip_tags()中。例如,您可能会看到以下内容:

echo $this->escape($item->description);

应该变成:

echo $this->escape(strip_tags($item->description));