К сожалению. коробочного решения не оказалось.
Реализация оказалось на удивление простой.
Итак, что мы хотим в итоге?

Кстати, чтобы лучше понимать суть происходящего, рекомендую(!) осилить литературные труды.
Подсказка добавляется через стили позиций.
Поэтому первым делом изменяем стиль
media\zoo\applications\jbuniversal\templates\catalog\renderer\element\jbblock.php
и заменяем код на следующее
<?php
/**
* JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
*
* @package jbzoo
* @version 2.x Pro
* @author JBZoo App http://jbzoo.com
* @copyright Copyright (C) JBZoo.com, All rights reserved.
* @license http://jbzoo.com/license-pro.php JBZoo Licence
* @coder Denis Smetannikov <denis@jbzoo.com>
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
// default params
$params = array_merge(array(
'first' => 0,
'last' => 0,
'showlabel' => 0,
'altlabel' => '',
'element' => '',
'style' => 'jbblock',
'tag' => 'div',
'labelTag' => 'strong',
'wrapperTag' => '',
'tooltip' => 0,
'clear' => 0,
'class' => '',
'_layout' => '',
'_position' => '',
'_index' => '',
), $params);
// create label
$label = '';
if ($params['showlabel']) {
// add tooltip
$tooltip = '';
if ($params['tooltip']) {
$tooltipText = htmlentities(strip_tags(JString::trim($element->config->get('description'))), ENT_QUOTES, "UTF-8");
$tooltip = $tooltipText ? ' <span class="jbtooltip" title="' . $tooltipText . '"></span>' : '';
}
// check label
$labelText = ($params['altlabel']) ? $params['altlabel'] : $element->getConfig()->get('name');
$label = '<' . $params['labelTag'] . ' class="element-label"> '
. $labelText
. $tooltip
. '</' . $params['labelTag'] . '>';
}
// collect html classes
$classes = array_filter(array(
'index-' . (int)$params['_index'],
$params['class'],
'element-' . $element->identifier,
'element-' . $element->getElementType(),
$params['first'] ? 'first' : '',
$params['last'] ? 'last' : '',
));
// add clear after html
$clear = $params['clear'] ? '<div class="clear clr clearfix"></div>' : '';
// render HTML for current element
$render = $element->render($params);
// wrapping the element HTML
if ($params['wrapperTag']) {
$render = '<' . $params['wrapperTag'] . '>' . $render . '</' . $params['wrapperTag'] . '>';
}
// render result
echo '<' . $params['tag'] . ' class="' . implode(' ', $classes) . '">', $label,
' ' . $render, '</' . $params['tag'] . '>', "\n" . $clear;
Для любознательных, изменилось следующееДалее, добавляем в CSS
Например сюда media\zoo\applications\jbuniversal\assets\css\jbzoo.css
А лучше в свой шаблон Joomla, чтобы не сломать обновлением.
.jbzoo .jbtooltip {
background: url(/media/zoo/applications/jbuniversal/assets/img/misc/help.png) no-repeat 50% 50%;
width: 16px;
height: 16px;
display: inline-block;
margin-left: 12px;
}
Сюда кладем картинку (она есть в атаче)
media\zoo\applications\jbuniversal\assets\img\misc\help.png
После этого в нужном шаблоне full добавим инициализацию jQueryUI Tooltip
<?php $this->app->jbassets->jqueryui(); ?>
<script type="text/javascript">
jQuery(function ($) {
$('.jbzoo .jbtooltip').tooltip();
});
</script>
Теперь позиции которые используют стиль jbblock могут показывать подсказки из настроек элемента
например, для таблицы будет так
<table class="jbtable">
<?php echo $this->renderPosition('tab-properties', array('style' => 'jbtable', 'tooltip' => 1)); ?>
</table>
Внимание!
- Внешний вид подсказки зависит от версии jQueryUI и легко правится через "магию" CSS.
- Все тестировал на JBZoo 2.1.3, Версия Joomla и Zoo не имеют значения.
PSS Думаю добавить эту фичу в следующий релиз.













