Як додати модульну позицію у компонент Joomla!

Рейтинг користувача: 5 / 5

Активна зіркаАктивна зіркаАктивна зіркаАктивна зіркаАктивна зірка
 

Доволі часто виникає необхідність додати модульну позицію у компонет Joomla. Розглянемо необхідні дії на прикладі стандартного компонента Joomla! com_content.

В першу чергу нам слід убезпечити себе від того, що після оновлення всі зроблені нами зміни зникнуть. Для цього робимо наступні кроки - у теці шаблону створюємо теку html (якщо її ще немає), в ній створюємо теку com_content, в ній створюємо теку article в яку кладемо файл default.php, який беремо звідси: /components/com_content/views/article/tmpl/default.php. І от до нього ми будемо вносити зміни.

Стандартна конструкція,

Show/Hidden php code
View source
<jdoc:include type="modules" name="footer" style="xhtml" />

яка згадувалася у попередньому матеріалі на цю тему, тут працювати не буде. Ця конструкція працює лише у шаблоні. Для компоненту існує інша конструкція. Щоб додати модульну позиція для одного модуля, вставте у потрібне місце цей код:

Show/Hidden php code
View source
  1. <?php
  2. jimport( 'joomla.application.module.helper' ); // підключаємо потрібний клас, один раз на сторінці, перед першимм виводом
  3. $module = JModuleHelper::getModules('your-module-position'); // отримуємо в масив всі модулі з даної позиції
  4. $attribs['style'] = 'xhtml'; // задаємо оболонку модулів (module chrome)
  5. echo JModuleHelper::renderModule($module[0], $attribs); // виводимо перший модуль з даної позиції
  6. ?>

А для виводу кількох модулів слід скористатися наступним кодом:

Show/Hidden php code
View source
  1. <?php
  2. jimport( 'joomla.application.module.helper' );
  3. $modules = JModuleHelper::getModules('your-module-position'); // змінили назву змінної з одниної на множину
  4. $attribs['style'] = 'xhtml';
  5. foreach($modules as $module){ // перебираємо та виводимо всі модулі в позиції
  6. echo JModuleHelper::renderModule($module, $attribs);
  7. }
  8. ?>

В яке місце вставляти дані коди - вирішувати вам. Я собі вставив після заголовку та перед пагінацією.

Надійний фріланс

Facebook

 
 

Google +

 

Реклама від Google