Bagaimana cara mengatur param komponen secara dinamis?


9

Untuk mengambil param yang saya gunakan:

$myparam = JComponentHelper::getParams('com_mycomponent')->get('myparam');

Tapi apa metode yang tepat untuk menyimpan param komponen?


Maksud saya selain menggunakan tombol Pilihan
— COBIZ webdevelopment

Jika Anda tidak menggunakan tombol opsi, bagaimana Anda mendapatkan nilai yang ingin Anda simpan?
— David Fritsch

Tidak terlalu mengerti pertanyaan Anda. Dari lokasi mana pun, di pengontrol komponen lain misalnya, saya ingin menetapkan nilai baru ke beberapa param komponen lainnya.
— Pengembangan web COBIZ

Anda dapat mencoba membangun komponen menggunakan component-creator.com dan melihat kode yang dihasilkannya ketika menambahkan parameter ke komponen Anda.
— Søren Beck Jensen

Jawaban:


15

Banyak parameter komponen kita bergantung pada kondisi eksternal, jadi kita perlu mengubahnya secara berkala dengan beberapa pemrosesan semalam. Inilah kode yang kami gunakan (disesuaikan untuk digunakan dengan com_content).

// Load the current component params.
$params = JComponentHelper::getParams('com_content');
// Set new value of param(s)
$params->set('show_title', 1);

// Save the parameters
$componentid = JComponentHelper::getComponent('com_content')->id;
$table = JTable::getInstance('extension');
$table->load($componentid);
$table->bind(array('params' => $params->toString()));

// check for error
if (!$table->check()) {
    echo $table->getError();
    return false;
}
// Save to database
if (!$table->store()) {
    echo $table->getError();
    return false;
}

1
Terima kasih. Ini terlihat sangat bagus! Jadi saya tidak mengabaikan metode yang ada, itu benar-benar membutuhkan beberapa kode tambahan. Saya akan menandai jawaban Anda BAIK secepatnya, ketika saya telah mengujinya. (Tapi karena Anda sudah menggunakan ini, ini mungkin jawaban yang tepat pula)
— COBIZ webdevelopment

1
Senang membantu ... tidak dapat mengikuti versi Joomla sebaik yang saya inginkan, jadi mungkin ada metode, tetapi yang ini telah bekerja untuk kita untuk sementara waktu sekarang ... tepuk tangan
— PDB
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.