---
title: "Собственный макет редактирования материала Joomla (и не только) во фронтенде - WebTolk"
description: "Как создать полностью свой собственный шаблон редактирования материала Joomla со стороны пользовательской части сайта? Примеры кода, php, переопределения."
url: "https://web-tolk.ru/blog/sobstvennyj-maket-redaktirovaniya-materiala-joomla-i-ne-tolko-vo-frontende"
date: "2025-07-26T05:40:03+00:00"
language: "ru-RU"
---

# Собственный макет редактирования материала Joomla (и не только) во фронтенде

 Автор: Сергей Толкачев Создано: 26 июля 2025 Обновлено: 01 сентября 2025 Просмотров: 675

Казалось, это просто - бери и переопределяй в свой шаблон. Но некоторые вещи оказались совсем не очевидными. Найденное решение, если честно, кажется костыльным, но работает. Пока что опишу кратко, потом оформлю в статью.

Чтобы сделать свой макет редактирования материала в Joomla нужно:

1️⃣ переопределить файл макета формы редактирования **administrator/components/com_content/tmpl/article/edit.php** в свой шаблон

2️⃣ закомментировать строку

```
// echo LayoutHelper::render('joomla.edit.params', $this);
```

Эта строка выводит поля материала дополнительными табами.

3️⃣ Переиначить вёрстку как надо, убрать лишние поля

4️⃣ Не потерять строку

```
echo $this->form->renderControlFields();
```

она нужна.

5️⃣ Получить поля в удобоваримом виде. Я предлагаю в массив.

```
$fields = [];
foreach ($this->form->getFieldsets() as $group => $fieldset) {
    foreach ($this->form->getFieldset($group) as $field) {
            $fields[$field->getAttribute('name')] = $field;
    }
}
```

мы получаем тут все филдсеты, для каждого филдсета - все поля. Собираем их в массив, где ключ - системное имя поля.

6️⃣ Рендерим нужное поле

```
if($fields['coords'])  {
    echo $fields['coords']->renderField();
}
```

7️⃣ Если нужна совсем своя вёрстка - лейбл и инпут отдельно, то получаем их магическим методом `__get()`.

```
echo $fields['pricelist']->__get('label'); // тут название свойства поля
```

8️⃣ Если нам нужно поле целиком, но со своими классами - устанавливаем свойства с помощью магического метода `__set()`.

```
<?php
if($fields['pricelist']) :
    $fields['pricelist']->__set('labelclass','h3 mt-4');
    ?>
    <?php  echo $fields['pricelist']->renderField(); ?>
<?php endif; ?>
```

Что мы теряем? - Автоматический рендер полей, если они были добавлены в админке. Ну а получаем гибкость в формировании макета редактирования / создания материала с фронта.

- [Пост в Telegram-канале](https://t.me/webtolkru/658)

## Об авторе

![Толкачев Сергей Юрьевич](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/sobstvennyj-maket-redaktirovaniya-materiala-joomla-i-ne-tolko-vo-frontende",
            "name": "Собственный макет редактирования материала Joomla (и не только) во фронтенде - WebTolk",
            "description": "Как создать полностью свой собственный шаблон редактирования материала Joomla со стороны пользовательской части сайта? Примеры кода, php, переопределения.",
            "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": "Article",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/145",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
