Създай своя сайт с Joomla!®

  • Много възможности за персонализация - хиляди разширения.
  • Лесна инсталация с няколко кликвания на мишката.
  • Вградена многоезична функция с над 65 езика.
  • Подходящ за изграждане всякакви сайтове, от личен блог до голям електронен магазин!
  • Много добра българска поддръжка в нашия Форум
  • Най-голямата световна общност!

2016 Пловдив 29 - 30 октомври

Joomla Академия на български

Понеделник, 20 Януари 2014 12:43

Как да създадем нов plugin event за K2?

Написана от

K2 е много мощен компонент, но при по-сложни проекти все пак се достигат и неговите границите. Това е един такъв случай.

K2 разполага с няколко plugin events в item view:

  • onK2PrepareContent
  • onK2AfterDisplay
  • onK2BeforeDisplay
  • onK2AfterDisplayTitle
  • onK2BeforeDisplayContent
  • onK2AfterDisplayContent

Това ни позволява да поставим плъгина, който искаме да се зареди почти навсякъде.

За разлика от item view, category view разполага само с един event(onK2CategoryDisplay). Ако искаме да зарадим 2 плъгина в преглед на категория, един преди съдържанието и един след него, това няма как да стане. За това трябва да направим следното:

1. Отваряме category.php и там където искаме да създадем нов event добавяме:

<?php
$db
= & JFactory::getDBO();
$query = "SELECT plugins FROM #__k2_categories WHERE id=".(int)$item->catid;
$db->setQuery($query, 0, 1);
$category = $db->loadObject(plugins);
$dispatcher = &JDispatcher::getInstance();
JPluginHelper::importPlugin ('content');
JPluginHelper::importPlugin ( 'k2' );
$results = $dispatcher->trigger('onK2CategoryDisplay2', array ( & $category, &$params, $limitstart));

echo $results [0];
?>

2. Трябва да променим и плъгина, който искаме да се зарежда при новия event. За целта отваряме php файла на плъгина и заместваме същесвуващия event на onK2CategoryDisplay2

Допълнителна информация

  • Версия: Joomla! 1.5, Joomla! 2.5, Joomla! 3.x
  • Категория: Компоненти
Прочетена 3783 пъти Последно променена в Неделя, 26 Януари 2014 14:04

Реклама

Онлайн във форума

Имаме 16 гости и 0 потребители на линия

    Реклама