我成功地将我的joomla 3 gallery模块转换为joomla 3插件,并创建了一个editor-xtd插件,在模态窗口中打开文件settings.php。
在这个窗口的body标签中,我想使用与模块的manifest xml文件中相同的xml Form字段。
<form>
<fieldset name="catid" addfieldpath="/plugins/editors-xtd/gallery/fields/">
<field
name="gallery-category"
type ="gallerycategory"
label="Gallery cat id"
description="Gallery cat id"
default = "0"
/>
</fieldset>
有没有办法在这个php文件的正文中呈现xml表单字段?
答案 0 :(得分:0)
在周末,我设法加载了我自己的settings.xml文件并在php模式中渲染一个选择框。
<?php
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', realpath( '..'.DS.'..'.DS.'..'.DS ) );
require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
$xmlPath = dirname(__FILE__) .'/forms/settings.xml';
jimport('joomla.form.form');
$form = JForm::getInstance('idform', $xmlPath);
?>
<html>
<head>
<title>titel</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="stylesheet" href="../../../administrator/templates/isis/css/template.css" type="text/css" />
<script type="text/javascript">
function insertCatId() {
var codeInsert = document.getElementById("settings_category").value;
var tag = "{category:"+codeInsert+"}";
window.parent.jInsertEditorText(tag, ' . json_encode($this->eName) . ');
window.parent.jModalClose();
return false;
}
</script>
</head>
<body>
<div>
<fieldset>
<form name="idform">
<div class="control-group">
<div class="control-label">
<p> </p>
<label>Insert category id</label>
</div>
<div class="controls">
<?php echo $form->getInput('category', 'settings'); ?>
</div>
</div>
</form>
</fieldset>
<button onclick="insertCatId();" class="btn btn-success"><?php echo JText::_('Insert'); ?></button>
</div>
</body>
</html>
这个
<?php echo $form->getInput('category', 'settings'); ?>
呈现标准选择框,但不是具有建议和自动完成功能的典型Joomla输入框。我如何实现这一目标?