Есть маленький модуль выборки из таблицы и вывод значений.
В "
mod_joomshopping_childscat.xml":
...
<field name="enable_cat" type="textarea" default="0" label="Show only category ID" description="Show only category ID. Сomma separated categories. Еxample for several categories: '1,2,3,...' or '1, 2, 3, ...' " />
...
В "
mod_joomshopping_childscat.php":
[code]defined('_JEXEC') or die;
require_once dirname(__FILE__). '/helper.php';
$enable_cat = $params->get('enable_cat', 0);
$categories = modJoomshoppingChildscatHelper::getParentcategory($params);
require JModuleHelper::getLayoutPath('mod_joomshopping_childscat', $params->get('layout', 'default'));
В "
helper.php":
defined('_JEXEC') or die;
class modJoomshoppingChildscatHelper
{
public static function getParentcategory(&$params)
{
$module = JModuleHelper::getModule('mod_joomshopping_childscat');
$moduleParams = new JRegistry();
$moduleParams->loadString($module->params);
$enable_cat = $moduleParams->get('enable_cat', 0);
$cid = JRequest::getInt('category_id');
$lang = JSFactory::getLang();
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('`category_id` AS id, `' . $lang->get('name'). '` AS name,`short_description_ru-RU` AS descript');
$query->select('`category_image` AS image');
$query->from('#__jshopping_categories');
$query->where('category_parent_id > 0');
$query->where('category_publish = 1');
$query->where('category_parent_id =' . $cid);
if($enable_cat!=0) {
$query->where('category_id IN ('.$enable_cat.')');
}
$query->order('ordering ASC');
$db->setQuery($query);
$categories = $db->loadObjectList();
return $categories;
}
}
Ну и "
default.php" - в котором выводится результат выборки из базы:
<ul id="js_ccmenu" class="art-vmenu">
<?php
defined('_JEXEC') or die;
foreach ($categories as $category)
{
$link = SEFLink('index.php?option=com_jshopping&controller=category&task=view&category_id=' . $category->id, 1);
echo '<li class="js_childscat"><a class="js_childscat_a" href="' . $link . '">' . $category->name . '</a></li>';
}
?>
</ul>
================
Проблема в том что если модуль опубликован 1 на странице то все работает нормально, НО если таких модулей опубликовано больше 1 (посредством создания нового либо дублирования уже существующего) и у каждого свои параметры вывода "
Show only category ID" то ничего не работает.
Если я правильно понимаю не работает из за того что "
class modJoomshoppingChildscatHelper" обрабатывается 1 раз для первого модуля и все.
Как тогда в "
helper.php" можно прописать "
class modJoomshoppingChildscatHelper" для каждого модуля свой, к примеру что бы это было привязано к id модуля, к примеру "
class modJoomshoppingChildscatHelperId111" и так для каждого модуля что бы свой класс формировался?
Возможно есть другой вариант решения проблемы, тогда подскажите в какую сторону смотреть?!