我编写了一个简单的插件来包含针对Joomla文章的自定义内容。这是代码:
defined ( '_JEXEC' ) or die ( 'Restricted access' );
class plgContentHomegrid extends JPlugin {
protected $autoloadLanguage = true;
function onContentPrepareForm($form, $data) {
$app = JFactory::getApplication();
$option = $app->input->get('option');
switch($option) {
case 'com_content':
if ($app->isAdmin()) {
JForm::addFormPath(__DIR__ . '/forms');
$form->loadFile('homegrid', false);
}
return true;
}
return true;
}
}
这很好用,其他字段在admin中显示为单独的选项卡,数据正确保存,一切都很完美。到目前为止一切都很好......但是,我只想在主页上显示其他选项卡。因此,我修改了代码,因此只显示主页的附加表单:
if( $data->featured == 1 ){
$form->loadFile('homegrid', false);
}
表单现在只在主页管理屏幕上显示,但不保存数据。
我做错了什么?
答案 0 :(得分:0)
好的,问题来了,因为我的条件引用$ data项,在保存期间没有填充,只显示(记录为here)
所以,稍微调查发现这个解决方案工作正常:
if( $data->featured == 1 || $_POST['jform']['featured'] == 1 ){
$form->loadFile('homegrid', false);
}
此处似乎没有任何文档!