Làm thế nào để thiết lập thông số động của một thành phần?


9

Để truy xuất một param tôi sử dụng:

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

Nhưng phương pháp phù hợp để lưu trữ thông số của thành phần là gì?


Ý tôi là ngoài việc sử dụng nút Tùy chọn
Phát triển web COBIZ ngày

Nếu bạn không sử dụng nút tùy chọn, làm thế nào bạn nhận được giá trị mà bạn muốn lưu trữ?
David Fritsch

Đừng thực sự hiểu câu hỏi của bạn. Từ bất kỳ vị trí nào, trong một bộ điều khiển thành phần khác chẳng hạn, tôi muốn đặt một giá trị mới cho một số thành phần khác param.
Phát triển web COBIZ

Bạn có thể thử xây dựng một thành phần bằng cách sử dụng component-creator.com và xem mã mà nó tạo ra khi thêm tham số vào thành phần của bạn.
Søren Beck Jensen

Câu trả lời:


15

Nhiều tham số của thành phần phụ thuộc vào các điều kiện bên ngoài, vì vậy chúng tôi cần định kỳ thay đổi chúng bằng một số xử lý qua đêm. Đây là mã chúng tôi sử dụng (được điều chỉnh để sử dụng với 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
Cảm ơn. Điều này trông rất tuyệt! Vì vậy, tôi đã không xem xét một phương thức hiện có, nó thực sự cần thêm một số mã. Tôi sẽ đánh dấu câu trả lời của bạn càng sớm càng tốt, khi tôi đã kiểm tra nó. (Nhưng vì bạn đã sử dụng cái này, nên đây có lẽ là câu trả lời đúng)
Phát triển web của COBIZ

1
Rất vui được giúp đỡ ... không thể theo kịp các phiên bản Joomla cũng như tôi muốn, vì vậy có thể có một phương pháp, nhưng phương pháp này đã hoạt động cho chúng tôi một lúc rồi ... chúc mừng
GDP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.