カテゴリを#__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'が...\libraries\legacy\categories\categories.phpの152行目に見つかりません"
以下のように別の拡張子のカテゴリを印刷しようとすると、
$categories = JCategories::getInstance('ThirdParty');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);
Joomlaライブラリのレガシーカテゴリをどうすればよいですか?
注:名前
ThirdParty
は単なるプレースホルダーであり、サードパーティの拡張機能の名前である可能性があります。
調査の結果、使用しているサードパーティコンポーネントに、ThirdPartyCategories
を拡張するクラスJCategories
を実装するために必要な..\components\com_thirdparty\helpers\category.php
として作成されたファイルがないことがわかりました。以下で説明するように、コンポーネントのヘルパーディレクトリ
defined('_JEXEC') or die;
/**
* ThirdParty Component Category Tree
*/
class ThirdPartyCategories extends JCategories
{
/**
* Constructor
*
* @param array $options Array of options
*/
public function __construct($options = array())
{
$options['table'] = '#__thirdparty';
$options['extension'] = 'com_thirdparty';
$options['statefield'] = 'published';
parent::__construct($options);
}
}