Шаблон статьи. Вставка позиции для модулей.

6 года 5 мес. назад #1109 от VARion
Здравствуйте,
у меня возникла потребность размещать модули в конце каждой статьи Joomla! 1.6. Прописывать в конце каждой статьи {loadposition xxxx} не подходит: статей очень много.
Редактировал templates\Шаблон\html\com_content\article\default.php, но пока только получил разные ошибки PHP.
Подскажите, кто знает, как можно выводить модули заданной позиции в конце каждой статьи.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 5 мес. назад - 6 года 5 мес. назад #1110 от VARion
Нашёл такое решение :), в файл шаблона вставляю:
$text = '{loadposition позиция}';
echo JHTML::_('content.prepare',$text);
Не знаю, насколько это эффективно, но работает.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 10 мес. назад #4898 от Bright

VARion пишет: Нашёл такое решение :), в файл шаблона вставляю:

$text = '{loadposition позиция}';
echo JHTML::_('content.prepare',$text);
Не знаю, насколько это эффективно, но работает.

Уже не первый раз попадаю в эту тему и каждый раз думаю - неужели за полтора года ни у кого не возникло никаких вопросов. Сам их не задавал потому, что думал - никто не спрашивает, а я один дурак, что ли? ))))))

1. В каком месте шаблона можно/нужно вставлять этот код?
2. Как быть, если в какой-то из статей желательно обойтись без этого модуля?
3. Если именно в конце статьи, то почему не сделать это стандартным способом? Т.е. сразу после статьи (ПОД нею), это ведь тоже будет "в конце статьи".
4. Запасной вопрос. :) Под словом "позиция" понимается любое присвоенное название позиции, которое потом выбирается в меню при публикации модуля?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 10 мес. назад #4899 от VARion
Bright, может никому не надо было, вот никто и не спрашивал, либо просто пользовались рецептом.

Хотя писал я это очень давно, отвечу исходя из того опыта:

В каком месте шаблона можно/нужно вставлять этот код?

Я вставлял внизу шаблона статьи, но по идее можно в любом месте, ведь код модуля мы сразу обрабатываем и вставляем уже обработанным.

Как быть, если в какой-то из статей желательно обойтись без этого модуля?

Не было потребности. Думаю можно сделать условие на ID материала. Нужно тут индивидуально смотреть задачу.

Если именно в конце статьи, то почему не сделать это стандартным способом? Т.е. сразу после статьи (ПОД нею), это ведь тоже будет "в конце статьи".

Этот модуль нужно было выводить только в статьях, и не выводить в режиме блога, когда много вводных текстов от нескольких статей и не нужно было выводить на главной странице, на которой были только модули. Если вопрос в том, почему нельзя было в конце статьи просто написать {loadposition позиция}, то смысл в том, что это не 2-3 статьи, а порядка 300 статей, что не предполагает ручного решения.

Запасной вопрос. Под словом "позиция" понимается любое присвоенное название позиции, которое потом выбирается в меню при публикации модуля?

При публикации модуля мы можем ввести произвольный идентификатор(название) позиции, даже тот, которого нет в шаблоне. Т.е. просто вводим в поле позиции "myspecialposition", а потом уже это будет для кода выше:
$text = '{loadposition myspecialposition}';
echo JHTML::_('content.prepare',$text);
Спасибо сказали: Bright

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 10 мес. назад - 4 года 10 мес. назад #4901 от Bright
Про режим блога как-то не вспомнилось :) Особенно если в разделе несколько категорий (или наоборот, не знаю как правильней).
Спасибо!
Кину в закладочки, скоро может пригодиться.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх