Совет по Joomla: использовать HTMLHelper для рендера ссылок, изображений и т.д.

Совет по Joomla: использовать HTMLHelper для рендера ссылок, изображений и т.д.

При работе с кодом хорошим тоном разработки считается наглядность кода, которая обеспечивает лёгкость его восприятия. Обычно это называют "чистый, читаемый код". Согласитесь, понимать следующую запись не всегда бывает удобно:

echo ''.$link_title.'';

или пример из стандартного шаблона JoomShopping:

{{a class="lightbox" id="main_image_full_" href="/" style="display:none" title="">
{{/a}}

Наглядностью и лёгкостью чтения, к сожалению, и не пахнет.

В API Joomla есть довольно богатый инструмент - класс HTMLHelper. В нём довольно много полезных фич, приведу пример для рендера ссылок как самого простого элемента. Метод HTMLHelper::link() принимает 3 аргумента:

- $url - формируем его программно заранее и передаем как параметр

- $text - собственно текст ссылки. Это может быть любое HTML-содержимое: картинка, код и т.д. - как в вёрстке.

- $attribs - самые разные атрибуты ссылки: class, target, onclick, кастомные data-атрибуты и т.д.

Согласитесь, так гораздо нагляднее. И порядок в коде.

use Joomla\CMS\HTML\HTMLHelper;

$url = 'index.php?option=' . $option . '&view=' . $view . '&id=' . $id;

$link_title = HTMLHelper::image('images/headers/raindrops.jpg', 'Alt attrib for image');

$target = '_blank';

$linkAttribs = [

'target' => $target,

'class' => 'btn btn-primary',

'onclick' => 'alert(123);',

'data-link-id' => '4a5d7f6a455sf8',

];

echo HTMLHelper::link($url, $link_title, $linkAttribs);

Частично ознакомиться с методами класса HTMLHelper можно в файле libraries/src/HTML/HTMLHelper.php.

#joomla #php #development #разработка #html

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla