Eu tenho um componente de terceiros que armazena suas categorias na #__categories
tabela.
-----+----------------+-----------------------+-----------------------+-----
... | 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 | ...
-----+----------------+-----------------------+-----------------------+-----
... | ... | ... | ... | ...
-----+----------------+-----------------------+-----------------------+-----
Posso imprimir categorias de com_banners
ou de outros componentes principais, como abaixo,
$categories = JCategories::getInstance('Banners');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);
Mas mostra
" Erro fatal : Classe 'ThirdPartyCategories' não encontrada em ... \ libraries \ legacy \ categories \ categories.php on line 152"
ao tentar imprimir as categorias de outra extensão como abaixo,
$categories = JCategories::getInstance('ThirdParty');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);
O que eu tenho a ver com as categorias herdadas nas bibliotecas do joomla?
Nota: o nome
ThirdParty
é apenas um espaço reservado, pode ser o nome de qualquer extensão de terceiros.
joomla-3.x
extensions
category
subcategories
kolunar
fonte
fonte
ThirdParty
nome real do componente?Respostas:
Depois de fazer algumas pesquisas, verifica-se que o componente de terceiros que estou usando não possui um arquivo criado conforme o
..\components\com_thirdparty\helpers\category.php
necessário para implementar uma classeThirdPartyCategories
que se estendeJCategories
no diretório de auxiliares do componente, conforme descrito abaixofonte