У меня есть сторонний компонент, который хранит свои категории в #__categories
таблице.
-----+----------------+-----------------------+-----------------------+-----
... | extension | title | alias | ...
-----+----------------+-----------------------+-----------------------+-----
... | com_content | Uncategorised | uncategorised | ...
-----+----------------+-----------------------+-----------------------+-----
... | com_banners | Sample Data-Banners | sample-data-banners | ...
-----+----------------+-----------------------+-----------------------+-----
... | com_newsfeeds | Sample Data-Newsfeeds | sample-data-newsfeeds | ...
-----+----------------+-----------------------+-----------------------+-----
... | com_contact | Sample Data-Contact | sample-data-contact | ...
-----+----------------+-----------------------+-----------------------+-----
... | com_content | Joomla! | joomla | ...
-----+----------------+-----------------------+-----------------------+-----
... | com_thirdparty | ThirdParty Category | thridparty-category | ...
-----+----------------+-----------------------+-----------------------+-----
... | ... | ... | ... | ...
-----+----------------+-----------------------+-----------------------+-----
Я могу печатать категории из com_banners
или из других основных компонентов, как показано ниже,
$categories = JCategories::getInstance('Banners');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);
Но это показывает
« Неустранимая ошибка : класс« ThirdPartyCategories »не найден в ... \ library \ legacy \ Categories \ category.php в строке 152»
при попытке напечатать категории другого расширения, как показано ниже,
$categories = JCategories::getInstance('ThirdParty');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);
Что мне делать с устаревшими категориями в библиотеках Joomla?
Примечание: имя
ThirdParty
является просто заполнителем, может быть именем любого стороннего расширения.
ThirdParty
фактическое название компонента?Ответы:
После некоторых исследований выясняется, что у стороннего компонента, который я использую, нет созданного файла,
..\components\com_thirdparty\helpers\category.php
который необходим для реализации класса,ThirdPartyCategories
который расширяетсяJCategories
в каталоге помощников компонента, как описано ниже.источник