Cara mendapatkan Kategori ekstensi khusus atau komponen pihak ketiga


8

Saya memiliki komponen pihak ketiga yang menyimpan kategorinya dalam #__categoriestabel.

-----+----------------+-----------------------+-----------------------+-----
...  | 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   | ...
-----+----------------+-----------------------+-----------------------+-----
...  | ...            | ...                   | ...                   | ...
-----+----------------+-----------------------+-----------------------+-----

Saya dapat mencetak kategori dari com_bannersatau dari komponen inti lainnya seperti di bawah ini,

$categories = JCategories::getInstance('Banners');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);

Tapi itu menunjukkan

" Kesalahan fatal : Kelas 'ThirdPartyCategories' tidak ditemukan di ... \ libraries \ legacy \ kategori \kategori.php on line 152"

ketika mencoba mencetak kategori ekstensi lain seperti di bawah ini,

$categories = JCategories::getInstance('ThirdParty');
$subCategories = $categories->get()->getChildren(true);
print_r($subCategories);

Apa yang harus saya lakukan dengan kategori lawas di perpustakaan joomla?

Catatan: Nama ThirdPartyini hanyalah pengganti, bisa berupa nama ekstensi pihak ketiga mana pun.


Apakah ThirdPartynama sebenarnya dari komponen?
— Lodder

Tidak, itu hanya pengganti, bisa berupa nama ekstensi pihak ketiga mana pun. Dalam kasus saya, ini com_thirdparty
— kolunar

Jawaban:


6

Setelah melakukan beberapa penelitian, ternyata komponen pihak ketiga yang saya gunakan tidak memiliki file yang dibuat seperti ..\components\com_thirdparty\helpers\category.php yang diperlukan untuk mengimplementasikan kelas ThirdPartyCategoriesyang meluas JCategoriesdalam direktori pembantu komponen seperti yang dijelaskan di bawah ini

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);
    }
}

Jika Anda telah menjawab dengan tepat pertanyaan Anda sendiri, harap tetapkan itu sebagai jawaban yang Anda pilih untuk menghapusnya dari daftar pertanyaan yang tidak dijawab.
— garth
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.