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.