วิธีการตั้งค่าพารามิเตอร์ขององค์ประกอบแบบไดนามิก?


9

หากต้องการกู้คืนพารามิเตอร์ที่ฉันใช้:

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

แต่วิธีการที่ถูกต้องในการจัดเก็บพารามิเตอร์ของส่วนประกอบคืออะไร?


ฉันหมายถึงนอกเหนือจากการใช้ปุ่มตัวเลือก
พัฒนาเว็บไซต์ COBIZ เมื่อ

หากคุณไม่ได้ใช้ปุ่มตัวเลือกคุณจะได้รับมูลค่าที่คุณต้องการเก็บอย่างไร
David Fritsch

ไม่เข้าใจคำถามของคุณจริงๆ จากตำแหน่งใด ๆ ในตัวควบคุมส่วนประกอบอื่นเช่นฉันต้องการกำหนดค่าใหม่ให้กับพารามิเตอร์อื่น ๆ
พัฒนาเว็บไซต์ COBIZ

คุณสามารถลองสร้างส่วนประกอบโดยใช้component-creator.comและดูรหัสที่สร้างเมื่อเพิ่มพารามิเตอร์ให้กับส่วนประกอบของคุณ
Søren Beck Jensen

คำตอบ:


15

พารามิเตอร์ของส่วนประกอบจำนวนมากของเราขึ้นอยู่กับเงื่อนไขภายนอกดังนั้นเราจึงจำเป็นต้องเปลี่ยนเป็นระยะ ๆ ด้วยการประมวลผลข้ามคืน นี่คือรหัสที่เราใช้ (ดัดแปลงเพื่อใช้กับ 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
ขอบคุณ มันดูดีมาก! ดังนั้นฉันไม่ได้มองเห็นวิธีการที่มีอยู่มันต้องการรหัสพิเศษบางอย่างแน่นอน ฉันจะทำเครื่องหมายคำตอบของคุณโดยเร็วเมื่อฉันทดสอบ (แต่เนื่องจากคุณใช้สิ่งนี้อยู่แล้วมันอาจเป็นคำตอบที่ถูกต้องอยู่แล้ว)
COBIZ webdevelopment

1
มีความสุขที่ได้ช่วย ... ไม่ทันกับรุ่น Joomla เหมือนที่ฉันต้องการดังนั้นอาจจะมีวิธีการ แต่อันนี้ทำงานให้เราได้ซักพักแล้ว ... ไชโย
GDP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.