diff --git a/modules/mod_finder/mod_finder.php b/modules/mod_finder/mod_finder.php index 30a80bdea6312..a1255640817ae 100644 --- a/modules/mod_finder/mod_finder.php +++ b/modules/mod_finder/mod_finder.php @@ -11,13 +11,16 @@ defined('_JEXEC') or die; use Joomla\CMS\Component\ComponentHelper; -use Joomla\CMS\Helper\ModuleHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; use Joomla\CMS\Uri\Uri; use Joomla\Component\Finder\Administrator\Helper\LanguageHelper; use Joomla\Component\Finder\Site\Helper\RouteHelper; use Joomla\Module\Finder\Site\Helper\FinderHelper; +// TS change - start +// use Joomla\Component\Videos\Site\Helper\Videos; +use Joomla\Module\Finder\Site\Module\FinderModule; +// TS change - end $cparams = ComponentHelper::getParams('com_finder'); @@ -36,11 +39,11 @@ // Get the route. $route = RouteHelper::getSearchRoute($params->get('searchfilter', null)); -if ($params->get('set_itemid')) { - $uri = Uri::getInstance($route); - $uri->setVar('Itemid', $params->get('set_itemid')); - $route = $uri->toString(array('path', 'query')); +// TS change - start +if ((int) $params->get('set_itemid') > 0) { + $route = 'index.php?Itemid=' . $params->get('set_itemid'); } +// TS change - end // Load component language file. LanguageHelper::loadComponentLanguage(); @@ -51,4 +54,98 @@ // Get Smart Search query object. $query = FinderHelper::getQuery($params); -require ModuleHelper::getLayoutPath('mod_finder', $params->get('layout', 'default')); +// TS change - start +// $videos = VideosFrontendHelper::getModel('Frontend'); +// $subjects = $videos->getSubjects(); +// $levels = $videos->getLevels(); +// $types = $videos->getTypes(); + +// To remove - start +$subjects = [ + (object) [ + 'id' => '1', + 'subject_title' => 'Matematyka', + 'state' => '1', + 'ordering' => '1', + ], + (object) [ + 'id' => '2', + 'subject_title' => 'Fizyka', + 'state' => '1', + 'ordering' => '2', + ], + (object) [ + 'id' => '3', + 'subject_title' => 'Chemia', + 'state' => '1', + 'ordering' => '3', + ], + (object) [ + 'id' => '4', + 'subject_title' => 'Biologia', + 'state' => '1', + 'ordering' => '4', + ], +]; + +$levels = [ + (object) [ + 'id' => '2', + 'level_title' => 'Szkoła Podstawowa IV-VI', + 'state' => '1', + 'ordering' => '2', + ], + (object) [ + 'id' => '5', + 'level_title' => 'Szkoła Podstawowa VII-VIII', + 'state' => '1', + 'ordering' => '5', + ], + (object) [ + 'id' => '6', + 'level_title' => 'Szkoła Ponadpodstawowa', + 'state' => '1', + 'ordering' => '6', + ], +]; + +$types = [ + (object) [ + 'id' => '1', + 'type_title' => 'Film', + 'state' => '1', + ], + (object) [ + 'id' => '2', + 'type_title' => 'Playlista', + 'state' => '1', + ], + (object) [ + 'id' => '3', + 'type_title' => 'Zadanie', + 'state' => '1', + ], + (object) [ + 'id' => '4', + 'type_title' => 'Riddle', + 'state' => '1', + ], +]; +// To remove - end + +$data = [ + 'route' => $route, + 'query' => $query, + 'search' => htmlspecialchars(JFactory::getApplication()->input->get('q', '', 'string')), + 'subjects' => $subjects, + 'levels' => $levels, + 'types' => $types, +]; + +$modInstance = new FinderModule($params, $module); +$modInstance->setData($data); + +$layout = '@module/mod_finder/' . explode(':', $params->get('layout', 'default'))[1] . '/' . explode(':', $params->get('layout', 'default'))[1] . '.html.twig'; + +echo $modInstance->render($layout); +// TS change - end diff --git a/modules/mod_finder/src/Module/FinderModule.php b/modules/mod_finder/src/Module/FinderModule.php new file mode 100644 index 0000000000000..ec486fa01dc98 --- /dev/null +++ b/modules/mod_finder/src/Module/FinderModule.php @@ -0,0 +1,59 @@ + - http://katalysteducation.org + */ + +namespace Joomla\Module\Finder\Site\Module; + +defined('_JEXEC') || die; + +\JLoader::import('twig.library'); + +use Phproberto\Joomla\Twig\Module\BaseTwigModule; + +/** + * Finder module. + * + * @since 3.0.0 + */ +class FinderModule extends BaseTwigModule +{ + /** + * Module created by module + * + * @var string + */ + protected $data; + + /** + * Method to set data from module. + * + * @param array $data + */ + public function setData(array $data): void + { + $this->data = $data; + } + + /** + * Load layout data. + * + * @return array + */ + protected function loadLayoutData(): array + { + return [ + 'cssClass' => $this->getCssClass(), + 'cssId' => $this->getCssId(), + 'moduleInstance' => $this, + 'params' => $this->getParams(), + 'data' => $this->data, + ]; + } +} diff --git a/modules/mod_finder/tmpl/default.html.twig b/modules/mod_finder/tmpl/default.html.twig new file mode 100644 index 0000000000000..1fc167a33a055 --- /dev/null +++ b/modules/mod_finder/tmpl/default.html.twig @@ -0,0 +1,37 @@ +
{{ dump(moduleInstance) }}
+
+{{ dump(params) }}
+
+{{ dump(data.route) }}
+
+{{ dump(data.query) }}
+
+{{ dump(data.search) }}
+
+{{ dump(data.subjects) }}
+
+{{ dump(data.levels) }}
+
+{{ dump(data.types) }}
+
+
+{{ dump(moduleInstance) }}
+
+{{ dump(params) }}
+
+{{ dump(data.route) }}
+
+{{ dump(data.query) }}
+
+{{ dump(data.search) }}
+
+{{ dump(data.subjects) }}
+
+{{ dump(data.levels) }}
+
+{{ dump(data.types) }}
+
+
+