- Шаблони Joomla!
- 25 Серпня 2015 року о 22:19
- 1292
Яким би не був гарним і навернутим шаблон сайту – він має кістяк, на який вже навішують шкіру (css) та м’язи (скрипти). В шаблоні Joomla! кістяк знаходиться у файлі index.php. Саме тут ви задаєте позиції модулів і встановлюєте зв’язки з файлами стилів та скриптів. Саме тут ви здійснюєте розмітку сайту. Тут ви визначаєте буде ця розмітка статичною (жорстка кількість колонок/рядків) чи динамічною (кількість рядків/колонок змінюється відповідно до опублікованих модулів/компонентів). Це альфа і омега. Початок і кінець.
Ну що ж. Я пропоную провести анатомічне дослідження цього кістяку з метою ознайомлення з функціональними можливостями файлу.
Початок файлу виглядає так:
<?php defined( '_JEXEC' ) or die; // Ця строка додається з міркувань безпеки, вона забороняє прямий доступ до файлу
$doc = JFactory::getDocument(); // це перемінна, яка зберігає посилання на документ
$tpath = $this->baseurl.'/templates/'.$this->template; // ця строка містить відносну адресу шаблону
?>
Далі у нас звичайний “стартовий” код html з одним необхідним жумловським рядком:
<!DOCTYPE html>
<html>
<head>
<jdoc:include type=«head» /> <!--Ця строка дозволяє Joomla! додати всі необхідні теги, ключові слова, короткий опис-->
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl?>/templates/<?php echo $this->template ?>/css/style.css" /> <!--Таким чином вказується шлях до файлу стилів-->
</head>
</html>
Після цих рядків ви можете верстати свій шаблон. Верстка має бути виключно блочною. Модульні позиції виводяться наступними командами:
<div>
<jdoc:include type="modules" name="footer" style="xhtml" />
</div>
Строка name є ім’ям позиції модулю. Ви можете вказати стандартне ім’я, а можете придумати власне. Для виводу контенту використовується наступна конструкція:
<div>
<jdoc:include type="component" style="xhtml" />
</div>
Зрештою ми отримаємо ось такий код простого шаблону:
<?php defined( '_JEXEC' ) or die;
$doc = JFactory::getDocument();
$tpath = $this->baseurl.'/templates/'.$this->template;
?>
<!DOCTYPE html>
<html>
<head>
<jdoc:include type=«head» />
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl?>/templates/<?php echo $this->template ?>/css/style.css" />
</head>
<body>
<header>

<jdoc:include type="modules" name="header" style="xhtml" />
</header>
<nav>

<jdoc:include type="modules" name="menu" style="xhtml" />
</nav>
<div>

<jdoc:include type="modules" name="left" style="xhtml" />
</div>
<div>

<jdoc:include type="component" style="xhtml" />
</div>
<footer>

<jdoc:include type="modules" name="footer" style="xhtml" />
</footer>
</body>
</html>
У наступній статті я розповім про стандартну архітектуру модулів і меню Joomla!