Сегодня 28 | 05 | 2023

Не всегда удобно выводить модули в конкретные места, указанные в шаблоне. Часто бывает необходимо вывести модуль прямо в материал. И в Joomla! есть такая возможность.

Наверняка вы размещали модули, указывая позицию top, left, user1, и т.д. Название и количество этих позиций указаны в файле templateDetails.xml в папке вашего шаблона (templates/имя шаблона/templateDetails.xml). Вы можете добавить позицию, дописав в этот файл строчку <position>user1</position> в нутри тега <positions>...</positions> где user1 название позиции, после этого, эта позиция станет доступна нам для использования в параметрах модуля. В качестве примера именно ее и будем использовать для нашего вывода модуля в материал.

Теперь суть:
Убедитесь, что у вас установлен и включен плагин "Содержимое - Загрузка модуля в Материал"  (входит в стандартный пакет плагинов Joomla!).
Далее, пишем в нашем материале, в том месте куда мы будем выводить модуль, следующее: {loadposition module} здесь module это имя позиции в которую мы выводим модуль. В нашем случае получится {loadposition user1}
Идём в настройки размещаемого модуля и указываем вывод в позицию user1.

На этом размещение модуля в материале окончено :)

Комментарии   

0 #54 Елизавета 19.05.2014 11:34
Цитирую Сергей Бедринов:
Цитирую Елизавета:
Цитирую Сергей Бедринов:
Цитирую Елизавета:
как опубликовать модуль только в материале? чтобы его больше нигде не было, нив каких позициях и ни на каких страницах? а только в одном материале?

Есть два варианта:
Создать одну позицию (в файле templateDetails.xml) которая бы была только для вставки в материалы и в модуле указать на какой странице его публиковать (для этого материал должен быть привязан к отдельному пункту меню)

Второй вариант- создать позицию (в файле templateDetails.xml) с уникальным именем, которая будет использоваться только для конкретного материала. Тогда можно не указывать на каких страницах выводить модуль, просто указать "на всех страницах"


мне больше подходит 2 вариант. но к сожалению, я не сильна в программировании... :sad:


Там программирования нет. Нужно открыть файлик templateDetails.xml который находится в папке шаблона (templates/имя шаблона/templateDetails.xml), Найти в нем строчки:

<positions>
<position>nav</position>
<position>slider</position>
<position>breadcrumbs</position>
<position>right</position>
<position>order</position>
<position>footer</position>
</positions>

(количество и название позиций наверняка будет отличаться), и добавить туда строку:

<position>unikalnaya_poziciya1</position>

куда нибудь между уже существующих. после этого название этой позиции будет доступно для выбора в модуле.


ОГРОМНОЕ Вам человеческое спасибо!!!!! всё работает!!! :-) :roll:
Цитировать
+1 #53 Елизавета 19.05.2014 11:13
Цитирую Сергей Бедринов:
Цитирую Елизавета:
Цитирую Сергей Бедринов:
Цитирую Елизавета:
как опубликовать модуль только в материале? чтобы его больше нигде не было, нив каких позициях и ни на каких страницах? а только в одном материале?

Есть два варианта:
Создать одну позицию (в файле templateDetails.xml) которая бы была только для вставки в материалы и в модуле указать на какой странице его публиковать (для этого материал должен быть привязан к отдельному пункту меню)

Второй вариант- создать позицию (в файле templateDetails.xml) с уникальным именем, которая будет использоваться только для конкретного материала. Тогда можно не указывать на каких страницах выводить модуль, просто указать "на всех страницах"


мне больше подходит 2 вариант. но к сожалению, я не сильна в программировании... :sad:


Там программирования нет. Нужно открыть файлик templateDetails.xml который находится в папке шаблона (templates/имя шаблона/templateDetails.xml), Найти в нем строчки:

<positions>
<position>nav</position>
<position>slider</position>
<position>breadcrumbs</position>
<position>right</position>
<position>order</position>
<position>footer</position>
</positions>

(количество и название позиций наверняка будет отличаться), и добавить туда строку:

<position>unikalnaya_poziciya1</position>

куда нибудь между уже существующих. после этого название этой позиции будет доступно для выбора в модуле.


спасибо! попробую! :-)
Цитировать
0 #52 Сергей Бедринов 19.05.2014 10:21
Цитирую Елизавета:
Цитирую Сергей Бедринов:
Цитирую Елизавета:
как опубликовать модуль только в материале? чтобы его больше нигде не было, нив каких позициях и ни на каких страницах? а только в одном материале?

Есть два варианта:
Создать одну позицию (в файле templateDetails .xml) которая бы была только для вставки в материалы и в модуле указать на какой странице его публиковать (для этого материал должен быть привязан к отдельному пункту меню)

Второй вариант- создать позицию (в файле templateDetails .xml) с уникальным именем, которая будет использоваться только для конкретного материала. Тогда можно не указывать на каких страницах выводить модуль, просто указать "на всех страницах"


мне больше подходит 2 вариант. но к сожалению, я не сильна в программировании... :sad:


Там программировани я нет. Нужно открыть файлик templateDetails .xml который находится в папке шаблона (templates/имя шаблона/templateDetails .xml), Найти в нем строчки:

<positions>
<position>nav</position>
<position>slider</position>
<position>breadcrumbs</position>
<position>right</position>
<position>order</position>
<position>footer</position>
</positions>

(количество и название позиций наверняка будет отличаться), и добавить туда строку:

<position>unikalnaya_poziciya1</position>

куда нибудь между уже существующих. после этого название этой позиции будет доступно для выбора в модуле.
Цитировать
0 #51 Елизавета 19.05.2014 10:07
Цитирую Сергей Бедринов:
Цитирую Елизавета:
как опубликовать модуль только в материале? чтобы его больше нигде не было, нив каких позициях и ни на каких страницах? а только в одном материале?

Есть два варианта:
Создать одну позицию (в файле templateDetails.xml) которая бы была только для вставки в материалы и в модуле указать на какой странице его публиковать (для этого материал должен быть привязан к отдельному пункту меню)

Второй вариант- создать позицию (в файле templateDetails.xml) с уникальным именем, которая будет использоваться только для конкретного материала. Тогда можно не указывать на каких страницах выводить модуль, просто указать "на всех страницах"


мне больше подходит 2 вариант. но к сожалению, я не сильна в программировани и... :sad:
Цитировать
0 #50 Сергей Бедринов 18.05.2014 22:03
Цитирую Елизавета:
как опубликовать модуль только в материале? чтобы его больше нигде не было, нив каких позициях и ни на каких страницах? а только в одном материале?

Есть два варианта:
Создать одну позицию (в файле templateDetails .xml) которая бы была только для вставки в материалы и в модуле указать на какой странице его публиковать (для этого материал должен быть привязан к отдельному пункту меню)

Второй вариант- создать позицию (в файле templateDetails .xml) с уникальным именем, которая будет использоваться только для конкретного материала. Тогда можно не указывать на каких страницах выводить модуль, просто указать "на всех страницах"
Цитировать
+1 #49 Елизавета 18.05.2014 21:03
как опубликовать модуль только в материале? чтобы его больше нигде не было, нив каких позициях и ни на каких страницах? а только в одном материале?
Цитировать
+1 #48 Андрей 15.03.2014 07:55
Цитирую Сергей Бедринов:
Цитирую Андрей:
Цитирую Сергей Бедринов:
Цитирую Андрей:
Здравствуйте! Я один из Ваших постоянных посетителей, очень уж нравится Ваш сайт, ну сейчас впервые столкнулся с маленькой проблемой. Подскажите пожалуйста, как вот вывести принудительно или как, пару {loadposition u515} в один рядок, то есть два, три модуля поставить в один рядок, чтобы не упускались никуда и не роспологались один под одним??? То есть Вы поняли, на одном уровне, в одном рядке например поставить три маленьких слайдшоу или прочие..... Помогите с проблемой.


как вариант:
<div style="width:200px;float:left">
{loadposition u515}
</div>
<div style="width:200px;float:left">
{loadposition u516}
</div>
<div style="width:200px;float:left">
{loadposition u517}
</div>

или 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left

что то немного получается, пожалуйста, еще два вопроса, первый отступ от этих позиций по бокам как задать? и второй, можно поподробней о Вашем 2 варианте ,, 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left ,, ссылку или где искать, любая помощь поможет... Спасибо большое!!!

Допустим модулям ставите суффикс floatblock с пробелом впереди, тогда суффикс будет добавлен как второй класс.

В материал вставляете:
<style type="text/css">
.inner_mod{
width:1000px; /* общая шырина блока модулей (сумма 3х модулей + отступы) */
overflow:hidden;
margin:0 auto;/* выравниваем блок по центру */
}

Писал на скору руку, может что неучел.

Большое Вам спасибо, буду сегодня пробовать! Вы очень добры! Удачи Вам!
Цитировать
0 #47 Сергей Бедринов 15.03.2014 03:45
Цитирую Андрей:
Цитирую Сергей Бедринов:
Цитирую Андрей:
Здравствуйте! Я один из Ваших постоянных посетителей, очень уж нравится Ваш сайт, ну сейчас впервые столкнулся с маленькой проблемой. Подскажите пожалуйста, как вот вывести принудительно или как, пару {loadposition u515} в один рядок, то есть два, три модуля поставить в один рядок, чтобы не упускались никуда и не роспологались один под одним??? То есть Вы поняли, на одном уровне, в одном рядке например поставить три маленьких слайдшоу или прочие..... Помогите с проблемой.


как вариант:
<div style="width:200px;float:left">
{loadposition u515}
</div>
<div style="width:200px;float:left">
{loadposition u516}
</div>
<div style="width:200px;float:left">
{loadposition u517}
</div>

или 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left

что то немного получается, пожалуйста, еще два вопроса, первый отступ от этих позиций по бокам как задать? и второй, можно поподробней о Вашем 2 варианте ,, 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left ,, можно поподробней описать, или если нет времени или возможности, киньте ссылку или где искать, любая помощь поможет... Спасибо большое!!!

Допустим модулям ставите суффикс floatblock с пробелом впереди, тогда суффикс будет добавлен как второй класс.

В материал вставляете:
<style type="text/css">
.inner_mod{
width:1000px; /* общая шырина блока модулей (сумма 3х модулей + отступы) */
overflow:hidden;
margin:0 auto;/* выравниваем блок по центру */
}
.inner_mod .floatblock{
width:200px; /* шырина блока модуля */
margin:10px 20px; /* отступаем верх-низ по 10, лево-право по 20 */
float:left; /* выстраиваем в строку */
}
</style>
<div class="inner_mod">
{loadposition u515}
</div>

Писал на скору руку, может что неучел.
Цитировать
0 #46 Андрей 14.03.2014 18:46
Цитирую Сергей Бедринов:
Цитирую Андрей:
Здравствуйте! Я один из Ваших постоянных посетителей, очень уж нравится Ваш сайт, ну сейчас впервые столкнулся с маленькой проблемой. Подскажите пожалуйста, как вот вывести принудительно или как, пару {loadposition u515} в один рядок, то есть два, три модуля поставить в один рядок, чтобы не упускались никуда и не роспологались один под одним??? То есть Вы поняли, на одном уровне, в одном рядке например поставить три маленьких слайдшоу или прочие..... Помогите с проблемой.


как вариант:
<div style="width:200px;float:left">
{loadposition u515}
</div>
<div style="width:200px;float:left">
{loadposition u516}
</div>
<div style="width:200px;float:left">
{loadposition u517}
</div>

или 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left

что то немного получается, пожалуйста, еще два вопроса, первый отступ от этих позиций по бокам как задать? и второй, можно поподробней о Вашем 2 варианте ,, 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left ,, можно поподробней описать, или если нет времени или возможности, киньте ссылку или где искать, любая помощь поможет... Спасибо большое!!!
Цитировать
0 #45 Андрей 14.03.2014 18:33
Цитирую Сергей Бедринов:
Цитирую Андрей:
Здравствуйте! Я один из Ваших постоянных посетителей, очень уж нравится Ваш сайт, ну сейчас впервые столкнулся с маленькой проблемой. Подскажите пожалуйста, как вот вывести принудительно или как, пару {loadposition u515} в один рядок, то есть два, три модуля поставить в один рядок, чтобы не упускались никуда и не роспологались один под одним??? То есть Вы поняли, на одном уровне, в одном рядке например поставить три маленьких слайдшоу или прочие..... Помогите с проблемой.


как вариант:
<div style="width:200px;float:left">
{loadposition u515}
</div>
<div style="width:200px;float:left">
{loadposition u516}
</div>
<div style="width:200px;float:left">
{loadposition u517}
</div>

или 1 позицию вывести, в неё модули все к примеру три. задать им суфиксы и через css задать им шырину и float:left

Сейчас попробую, пока что спасибо большое что ответили
Цитировать