---
title: "Переопределение макета НЕ в шаблоне Joomla - WebTolk"
description: "Как создать собственный макет Joomla вне шаблона и не привязывать к нему пункты меню. Разбираем подход, его плюсы, риски и поведение при обновлении."
url: "https://web-tolk.ru/blog/pereopredelenie-maketa-ne-v-shablone-joomla"
date: "2026-08-31T03:15:44+00:00"
language: "ru-RU"
---

## Breadcrumbs

[Главная](https://web-tolk.ru/) > [Блог](https://web-tolk.ru/blog) > Переопределение макета НЕ в шаблоне Joomla

# Переопределение макета НЕ в шаблоне Joomla

 Автор: Сергей Толкачев Создано: 31 августа 2026 Обновлено: 31 августа 2026 Просмотров: 8 0    ![](https://web-tolk.ru/blog/images/blog/pereopredelenie-maketa-ne-v-shablone-joomla/header.webp)

Мы все знаем, что при работе с сайтом создание своих переопределений стандартных макетов — это типовая, стандартная работа. Она позволяет сделать из материалов, контактов почти всё, что угодно.

И так же мы знаем, что по классике эти переопределения кладутся в папку html активного шаблона Joomla (не важно, для админки или для пользовательской части).

Макет `blog.php` и `blog.xml` к нему из `JPATH_SITE/components/com_content/tmpl/category/` мы помещаем в `templates/<ВАШ_ШАБЛОН>/html/com_content/category` и творим там всё, что захотим:

- любая вёрстка в `blog.php` и субмакетах
- любое название для типа пункта меню (гаражи, дачи, самолёты — каталог чего вы делаете на материалах) — в `blog.xml` (или `samolet.php` + `samolet.xml`)
- любые дополнительные параметры для пункта меню на этот тип — добавьте нужные кнопки и инпуты в `blog.xml`

Да, это всё классика. Удобно то, что мы создаём нужный нам тип пункта меню таким образом и можем выбрать его в админке: список самолётов, список гаражей.

Если наше переопределение лежит в шаблоне, то URL при создании пункта меню будет вида `index.php?option=com_content&view=category&layout=yourtemplate:samolet`.

Именно так, через двоеточие: `layout=yourtemplate:samolet`. Joomla будет знать, что нужно залезть в нужный шаблон и взять нужное переопределение. Если мы НЕ создаём свой тип пункта меню таким образом, а просто переопределяем — то всё ок.

## ❓ А что будет с сайтом, если мы переключили шаблон на другой?

На старых долгоживущих проектах нередко структура пунктов меню большая и запутанная. Если мы сделали новый шаблон сайта и переключили его в админке — у нас послетают все наши переопределения. И они не будут работать до тех пор, пока мы не прощёлкаем все пункты меню и не пересохраним их. Так, чтобы в их url теперь был `new-template:samolet` в параметре layout.

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

### Если макет лежит в папке с модулем

- Он работает
- Его можно переопределить в шаблон (хотя зачем, это же наш макет)
- Он не изменится при смене шаблона
- ⛔️ Минус — неудобно в работе, когда все макеты разложены по своим модулям и нужно прыгать по папкам в проекте

### Макеты лежат в папке html шаблона

- всё рядышком
- типовой подход Joomla (хотя и предыдущий тоже типовой) удобно для типовых шаблонов — сделал комплект переопределений в своём шаблоне и таскаешь из проекта в проект
- ⛔️ неудобно, когда впереди большая работа по смене шаблона и нельзя, чтобы сразу послетало всё из‑за смены шаблона.

## Создание своего макета вывода данных Joomla в папке ядра

Я решил провести мини‑эксперимент, в целом заранее зная его результат: положить «переопределение» материала не в `html/com_content` шаблона, а в папку с компонентом. Точь‑в-точь как с модулями.

Оно работает. Мы создаём собственный тип вывода контента, не привязанный к конкретному шаблону. URL нашего пункта меню будет без двоеточия и имени шаблона. Просто `index.php?option=com_content&view=category&layout=samolet`.

> И знаете, это повод задуматься о применении этой возможности, 
> отя раньше я бы первым закричал: «Вы что‑о-о?!?! Нельзя‑а-а!»

Когда у нас проект, где:

- не сложная структура
- переопределения макетов в шаблоне делаются один раз на несколько лет
- их (переопределений и новых типов пунктов меню) МАЛО...

..здесь положить всё в шаблон сам Бог велел.

Когда же:

- сложная структура меню
- в ней много разных ТИПОВ пунктов меню
- и все они норовят зависеть от шаблона...

... поневоле задумываешься о том, что ведь можно и же и в папку ядра положить свои файлики...

> Риски есть — когда‑нибудь кто‑нибудь добавит в ядро файл с совпадающим именем. Но это решается брендированным префиксом в имена
>  файлов.

При обновлении эти файлы не затираются — проверил сценарий обновления.

🤔 В общем, это скорее философские вопросы о разграничении ответственности и кто эту ответственность на себя берёт, кто это будет поддерживать, документировать и следить за тем, чтобы практике проекта следовали коллеги.

## Статья по теме

![](https://web-tolk.ru/blog/images/blog/sozdanie-shablonov-sajta-v-joomla-4/header-1920x1080.webp#joomlaImage://local-images/blog/sozdanie-shablonov-sajta-v-joomla-4/header-1920x1080.webp?width=1920&height=1080)

##### Создание шаблонов сайта в Joomla 4+

Ранее были опубликованы статьи [Создание модулей с учётом новой структуры Joomla 4](https://web-tolk.ru/blog/index.php?option=com_content&view=article&id=61&catid=10&Itemid=114), [Создание плагинов с учётом новой структуры Joomla 4](https://web-tolk.ru/blog/index.php?option=com_content&view=article&id=80&catid=10&lang=ru-RU&Itemid=114), где освещались нюансы по апгрейду расширений до архитектуры Joomla 4 / Joomla 5. А также статья [Создание плагина кнопки редактора в Joomla 4](https://web-tolk.ru/blog/index.php?option=com_content&view=article&id=81&catid=10&lang=ru-RU&Itemid=114), в которой в том числе затрагиваются вопросы распределения функционала между фронтом и бэком, приводится практический пример работы с ajax нативными для Joomla средствами. Однако, расширение типа `template`, пожалуй, создаётся для сайтов на Joomla чаще, чем другие типы расширений.

Первоначально статья была опубликована на Хабре. Копирую к себе.

[Подробности](https://web-tolk.ru/blog/sozdanie-shablonov-sajta-v-joomla-4)

- [Пост на Хабре](https://habr.com/ru/posts/1075804/)
- [Пост в Telegram](https://t.me/webtolkru/1092)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Переопределение макета НЕ в шаблоне Joomla"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/pereopredelenie-maketa-ne-v-shablone-joomla",
            "name": "Переопределение макета НЕ в шаблоне Joomla - WebTolk",
            "description": "Как создать собственный макет Joomla вне шаблона и не привязывать к нему пункты меню. Разбираем подход, его плюсы, риски и поведение при обновлении.\r\n",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "BlogPosting",
            "image": "https://web-tolk.ru/images/blog/pereopredelenie-maketa-ne-v-shablone-joomla/header.webp",
            "headline": "Переопределение макета НЕ в шаблоне Joomla",
            "description": "Как создать собственный макет Joomla вне шаблона и не привязывать к нему пункты меню. Разбираем подход, его плюсы, риски и поведение при обновлении.",
            "author": {
                "@type": "person",
                "name": "Сергей Толкачев",
                "url": "https://web-tolk.ru",
                "email": "info@web-tolk.ru"
            },
            "datePublished": "2026-08-30T00:00:00+00:00",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/188",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
