我使用Component Creator为Joomla 3.X
创建了一个组件问题是在网站上工具提示显示html代码。例如:
<strong>Title</strong><br/>Description
相反,在管理员上,他们会正确显示:
标题
描述
我正在查看文档here和here,似乎可以在调用工具提示函数时定义输出格式,但组件内部没有调用该函数。我在视图文件的开头看到的唯一调用是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="<strong>Title</strong><br />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>
答案 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));