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