Всплывающие подсказки

Можно добавить к полям форм всплывающую подсказку с пояснением. Всплывающие подсказки работают только в панели администратора.

Пример:

http://example.com/admin.php?dispatch=products.update&product_id=817

Поле List price.

Добавление подсказок к обычным полям формы

Подсказки автоматически добавляются пост-контроллером, если найдена языковая переменная, соответствующая названию поля.

Правила разбора:

При парсинге в тексте темплейта ищутся конструкции вида:

<label ...>...{$lang.LANGVAR_NAME}...</label>

Пример:

<label for="product_product_code">{$lang.product_code}:</label>

<label for="product_list_price">{$lang.list_price} ({$currencies.$primary_currency.symbol}) :</label>

Когда такая конструкция найдена, для переменной LANGVAR_NAME ищется языковая переменная с подсказкой.

Переменные могут быть двух типов:

  • учитывающие только название переменной;
  • учитывающие название переменной и шаблон, в котором она расположена.

Подсказки, учитывающие только название переменной

Эти подсказки добавляются только с учетом LANGVAR_NAME. Они должны выглядеть как ttc_LANGVAR_NAME. Если такая переменная задана, то подсказка будет показываться во всех формах, где есть LANGVAR_NAME.

Подсказки, учитывающие название переменной и шаблон

Переменные для таких подсказок выглядят как: tt_TEMPLATE_NAME_LANG_VAR_NAME. В результате подсказки будут выводится только в заданном темплейте. Это позволяет избежать вывода одинаковых подсказок для одинаковых названий полей на разных страницах.

TEMPLATE_NAME - включает полный путь к темплейту + название темплейта, без расширения tpl. Названия папок и названия темплейта, связываются через ‘_’.

Например нужно задать подсказку для поля List price, которое располложено на странице редактирования продукта:

http://example.com/admin.php?dispatch=products.update&product_id=817

Но подсказка не должна отображаться еще где-то, кроме этой страницы.

Заголовок List price задается переменной list_price. Сам заголовок расположен в темплейте views/products/update.tpl. Таким образом, получаем языковую переменную:

tt_views_products_update_list_price = tt_ + TEMPLATE_NAME + _ + LANGVAR_NAME = tt_ + views_products_update + _ + list_price

Отображение языковых пременных для подсказок

Чтобы при добавлении подсказок к полям формы не приходилось постоянно искать названия языковых переменных по темплейтам и вычислять названия подсказок с учетом темплейта, существует возможность включить отображение всех подсказок для языковых переменных. Для его включения к URL выбранной страницы нужно добавить параметры stt - для отображения подсказок и сс - для очистки кэша.

Например, если мы хотим включить вывод всех подсказок на странице:

http://example.com/admin.php?dispatch=products.update&product_id=817

Нужно открыть URL:

http://example.com/admin.php?dispatch=products.update&product_id=817&stt&cc

Тогда ко всем полям формы добавятся всплывающие подсказки с двумя языковыми переменными. Если значение переменной задано, то оно также будет указано в подсказке.

Для поля List price текст подсказки будет выглядеть так:

ttc_list_price: tt_views_products_update_list_price: Manufacturer suggested retail price.

Чтобы отключить режим вывода подсказок, нужно очистить кэш на странице:

http://example.com/admin.php?dispatch=products.update&product_id=817&cc

Добавление подсказок к настройкам модулей

Подсказки к настройкам модулей задаются в файле addon.xml.

Для добавления подсказки к полю, нужно указать ее значение в теге <tooltip> внутри тега настройки.

Перевод подсказки задается внутри тега <tt_translations> аналогично переводу названия опции.

Пример, добавление подсказки Hello для настройки Allow login to the admin area from specified IPs only модуля Administration panel settings:

<item id="admin_reverse_ip_access">

    <name>Allow login to the admin area from specified IPs only</name>

    <type>checkbox</type>

    <default_value></default_value>

    <translations>

        <item lang="es">Permitir el acceso al área de administración sólo de las IPS especificadas</item>

    </translations>

    <tooltip>Hello</tooltip>

    <tt_translations>

        <item lang="es">Hola</item>

    </tt_translations>

</item>