---
title: "Тип ModuleLayout в параметрах модулей Joomla 1.5 - Joomlaportal"
description: "Добавление возможности выбора layout'а в модулях Joomla 1.5"
url: "https://joomlaportal.ru/blogs/development/2339-tip-modulelayout-v-parametrakh-modulej-joomla-1-5"
date: "2026-11-06T07:16:09+03:00"
language: "ru-RU"
---

## Breadcrumbs

[Главная](https://joomlaportal.ru/) > [Блоги](https://joomlaportal.ru/blogs) > [Разработка](https://joomlaportal.ru/blogs/development) > Тип ModuleLayout в параметрах модулей Joomla 1.5

[Разработка](https://joomlaportal.ru/blogs/development)

# Тип ModuleLayout в параметрах модулей Joomla 1.5

[smart](https://joomlaportal.ru/users/smart) 18 ноября 2011 1 мин 17140 просмотров

Поделиться: [ВКонтакте](https://vk.com/share.php?url=https%3A%2F%2Fjoomlaportal.ru%2Fblogs%2Fdevelopment%2F2339-tip-modulelayout-v-parametrakh-modulej-joomla-1-5&title=%D0%A2%D0%B8%D0%BF+ModuleLayout+%D0%B2+%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0%D1%85+%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9+Joomla+1.5) [Одноклассники](https://connect.ok.ru/offer?url=https%3A%2F%2Fjoomlaportal.ru%2Fblogs%2Fdevelopment%2F2339-tip-modulelayout-v-parametrakh-modulej-joomla-1-5&title=%D0%A2%D0%B8%D0%BF+ModuleLayout+%D0%B2+%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0%D1%85+%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9+Joomla+1.5) [Telegram](https://t.me/share/url?url=https%3A%2F%2Fjoomlaportal.ru%2Fblogs%2Fdevelopment%2F2339-tip-modulelayout-v-parametrakh-modulej-joomla-1-5&text=%D0%A2%D0%B8%D0%BF+ModuleLayout+%D0%B2+%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0%D1%85+%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9+Joomla+1.5)

В Joomla 1.7 у модулей появился достаточно удобный функционал - возможность выбора layout'а в параметрах модуля из выпадающего списка (причем, если в каком-то из шаблонов сайта данный layout переопределен или добавлен альтернативный - он тоже будет присутствовать в списке). А вот в Joomla 1.5 этого сильно не хватало. Недавно я нашел на форуме неплохое решение от пользователя danik.html и немного его доработал.

Решение довольно простое - добавляем аналогичный элемент в дистрибутив модуля, добавляем XML-манифесте модуля ссылку на папку с элементом и добавляем новый параметр к существующим параметрам модуля. В качестве имени условного модуля (для примера) выбрано **mod_latestnews**. Естественно, вам его нужно будет заменить на название вашего модуля.

1. Создаем файл modulelayout.php следующего содержания: ``` attributes('module');
 $clientId = ($v = $node->attributes('client_id')) ? $v : 0;

 $db =& JFactory::getDBO();
 $db->setQuery('SELECT template FROM #__templates_menu WHERE client_id = ' . $clientId);
 $templates = $db->loadResultArray();

 $options = array();
 $options[] = JHTML::_('select.option', '', JText::_('Default'));

 if ($module) {
 jimport('joomla.filesystem.folder');
 jimport('joomla.filesystem.file');

 $moduleFolder = JPath::clean(JPATH_SITE.DS.'modules'.DS.$module.DS.'tmpl');

 if (is_dir($moduleFolder) && ($files = JFolder::files($moduleFolder, '^[^_]*\.php$'))) {
 $options[] = JHTML::_('select.option', '', JText::_('Module'));
 foreach ($files as $file) {
 $options[] = JHTML::_('select.option', JFile::stripExt($file));
 }
 $options[] = JHTML::_('select.option', '');
 }

 if ($templates) {
 foreach ($templates as $template) {
 $templateFolder = JPath::clean(JPATH_SITE.DS.'templates'.DS.$template.DS.'html'.DS.$module);

 if (is_dir($templateFolder) && ($files = JFolder::files($templateFolder, '^[^_]*\.php$'))) {
 $options[] = JHTML::_('select.option', '', JText::_('Template') . ' ' . $template);
 foreach ($files as $file) {
 $options[] = JHTML::_('select.option', JFile::stripExt($file));
 }
 $options[] = JHTML::_('select.option', '');
 }
 }
 }
 }

 return JHTML::_('select.genericlist', $options, $control_name.'['.$name.']', null, 'value', 'text', $value);
 }
 } ``` И помещаем этот файл в дистрибутив вашего модуля. Чтобы не было путаницы, лучше всего создать папку elements и поместить файл в нее.
2. В XML-манифест модуля, в группу элементов **files** добавляем папку **elements**: ``` elements ```
3. В XML-манифест модуля добавляем новый параметр: Необходимо заменить **mod_latestnews** на название вашего модуля. В Joomla 1.7 такой атрибут не требуется, потому, что из наследника **JElement** можно получить информацию о модуле, а в Joomla 1.5, к сожалению, нет.
4. Так как в стандартном дистрибутиве Joomla такого элемента как **modulelayout** нет, то нам необходимо «рассказать» Joomla об этом. Поэтому добавляем в XML-манифесте к элементу params атрибут addpath: Необходимо заменить mod_latestnews на название вашего модуля.
5. В самом модуле меняем строчку: ``` require(JModuleHelper::getLayoutPath('mod_latestnews')); ``` на ``` require(JModuleHelper::getLayoutPath('mod_latestnews', $params->get('layout', 'default'))); ```
6. Все, после этого в параметрах нашего модуля можно будет выбирать layout.

Если вы хотите добавить описанный функционал в какой-то из существующих на сайте модулей, то достаточно в папке с модулем создать директорию **elements**, скопировать в нее файл **modulelayout.php** и внести в XML-манифест модуля изменения описанные в данной статье.

Обсуждение данной статьи на форуме: [Предложение разработчикам модулей включать параметр выбора layout'а модуля](http://joomlaforum.ru/index.php/topic,129111.0.html).

### Похожие статьи

[!\[Совет по Joomla: Как сделать ссылки на списки сущностей Joomla с фильтрацией?\](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej/header.webp)](https://joomlaportal.ru/blogs/development/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej)

31 августа 2026

##### [Совет по Joomla: Как сделать ссылки на списки сущностей Joomla с фильтрацией?](https://joomlaportal.ru/blogs/development/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej)

В Joomla в любом списке сущностей есть параметры поиска, которыми мы привыкли пользоваться...

[Читать далее](https://joomlaportal.ru/blogs/development/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej)

[!\[Переопределение макета НЕ в шаблоне Joomla\](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/pereopredelenie-maketa-ne-v-shablone-joomla/header.webp)](https://joomlaportal.ru/blogs/development/pereopredelenie-maketa-ne-v-shablone-joomla)

31 августа 2026

##### [Переопределение макета НЕ в шаблоне Joomla](https://joomlaportal.ru/blogs/development/pereopredelenie-maketa-ne-v-shablone-joomla)

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

[Читать далее](https://joomlaportal.ru/blogs/development/pereopredelenie-maketa-ne-v-shablone-joomla)

[!\[Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla.\](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla/header-1080.webp)](https://joomlaportal.ru/blogs/development/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla)

01 июля 2026

##### [Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla.](https://joomlaportal.ru/blogs/development/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla)

Как работает ядро Joomla 6 на уровне Приложения (Application)? Сколько видов Приложений на самом...

[Читать далее](https://joomlaportal.ru/blogs/development/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla)

[Назад](https://joomlaportal.ru/blogs/development) [На главную](https://joomlaportal.ru/)

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "Главная",
            "item": "https://joomlaportal.ru/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Блоги",
            "item": "https://joomlaportal.ru/blogs"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "Разработка",
            "item": "https://joomlaportal.ru/blogs/development"
        },
        {
            "@type": "ListItem",
            "position": 4,
            "name": "Тип ModuleLayout в параметрах модулей Joomla 1.5",
            "item": "https://joomlaportal.ru/blogs/development/2339-tip-modulelayout-v-parametrakh-modulej-joomla-1-5"
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "headline": "Тип ModuleLayout в параметрах модулей Joomla 1.5",
    "url": "https://joomlaportal.ru/blogs/development/2339-tip-modulelayout-v-parametrakh-modulej-joomla-1-5",
    "datePublished": "2011-11-18T00:00:00+04:00",
    "dateModified": "2012-11-21T17:21:32+04:00",
    "author": {
        "@type": "Person",
        "name": "smart"
    },
    "publisher": {
        "@type": "Organization",
        "name": "Joomlaportal.ru",
        "logo": {
            "@type": "ImageObject",
            "url": "https://joomlaportal.ru/images/schema-org-portal-logo.jpg"
        }
    },
    "articleSection": "Разработка",
    "description": "Добавление возможности выбора layout'а в модулях Joomla 1.5"
}
```
