Wie bekomme ich Daten aus der DB ins JForm?
Posted: Sat Mar 01, 2014 10:46 pm
Hallo,
ich habe mir ein Formualr zusammengestellt.
Dazu habe ich eine XML-Datei (models/forms/test.xml) angelegt:
Im Anschluss daran habe ich diese in die Datei views/test/tmpl/default.php eingebunden:
Und dann habe ich schliesslich diese Datei (views/test/view.html.php):
Nun habe ich in der default.php die Daten aus der DB mit dem Formular verbunden. Nur leider wird mir nichts angezeigt. Habe ich das was falsch gemacht?
Gruß
tria1312
ich habe mir ein Formualr zusammengestellt.
Dazu habe ich eine XML-Datei (models/forms/test.xml) angelegt:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fields name="main">
<fieldset name="primaryfieldset">
<field
type="text"
name="my_text_field"
id="myTextField"
label="MY TEXT FIELD LABEL"
description="MY TEXT FIELD DESCRIPTION"
size="80"
maxLength="255" />
<field
type="text"
name="my_other_text_field"
id="myOtherTextField"
label="MY OTHER TEXT FIELD LABEL"
description="MY OTHER TEXT FIELD DESCRIPTION"
size="80"
maxLength="255" />
<field
type="editor"
name="my_editor_field"
id="myEditorField"
label="MY EDITOR FIELD LABEL"
description="MY EDITOR FIELD DESCRIPTION"
rows="5"
cols="200"/>
</fieldset>
<fieldset name="secondaryfieldset">
<field
type="radio"
name="my_radio_field"
id="myRadioField"
label="MY RADIO FIELD LABEL"
description="MY RADIO FIELD DESCRIPTION">
<option value="0">YES</option>
<option value="1">NO</option>
</field>
</fieldset>
</fields>
<fields name="immutable">
<!-- Fieldsets go here -->
</fields>
<fields name="extra">
<fieldset name="publishing">
<field
name="created"
type="calendar"
label="CREATED"
description="MY CREATED DESCRIPTION"
class="inputbox" size="20"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc" />
<field
name="created_by"
type="user"
label="CREATED BY"
description="CREATED BY DESCRIPTION" />
<field
name="created_by_alias"
type="text"
label="CREATED BY ALIAS"
description="CREATED BY ALIAS DESCRIPTION"
class="inputbox"
size="20" />
</fieldset>
<fieldset name="metadata">
<field
name="metakey"
type="textarea"
label="KEYWORDS"
description="KEYWORDS DESCRIPTION"
class="inputbox"
rows="3"
cols="30" />
<field
name="metadesc"
type="textarea"
label="DESCRIPTION"
description="DESCRIPTION DESCRIPTION"
class="inputbox"
rows="3"
cols="30" />
</fieldset>
</fields>
</form>
Code: Select all
<?php
defined('_JEXEC') or die('Restricted access');
// get the JForm object
$pathToXmlFile = JPATH_COMPONENT_ADMINISTRATOR.DS.'models/forms/test.xml';
$form = &JForm::getInstance('myform', $pathToXmlFile);
// get the JPane object
jimport( 'joomla.html.pane' );
$pane = JPane::getInstance('sliders', $pathToXmlFile);
$form->bind( $this->items);
?>
<div id="editcell">
DIES IST EINE TESTSEITE
</div>
<!-- normal fieldsets -->
<div class="width-60 fltlft">
<?php
// Iterate through the normal form fieldsets and display each one.
foreach ($form->getFieldsets('main') as $fieldsets => $fieldset):
?>
<fieldset class="adminform">
<legend>
<?php echo JText::_($fieldset->name.'_jform_fieldset_label'); ?>
</legend>
<dl>
<?php
// Iterate through the fields and display them.
foreach($form->getFieldset($fieldset->name) as $field):
// If the field is hidden, only use the input.
if ($field->hidden):
echo $field->input;
else:
?>
<dt>
<?php echo $field->label; ?>
</dt>
<dd<?php echo ($field->type == 'Editor' || $field->type == 'Textarea') ? ' style="clear: both; margin: 0;"' : ''?>>
<?php echo $field->input ?>
</dd>
<?php
endif;
endforeach;
?>
</dl>
</fieldset>
<?php
endforeach;
?>
</div>
<!-- extra fieldsets -->
<div class="width-40 fltrt">
<?php echo $pane->startPane("extra"); ?>
<?php
// Iterate through the extra form fieldsets and display each one.
foreach ($form->getFieldsets("extra") as $fieldsets => $fieldset):
?>
<?php echo $pane->startPanel(JText::_($fieldset->name.'_jform_fieldset_label'), $fieldsets); ?>
<fieldset class="panelform">
<dl>
<?php
// Iterate through the fields and display them.
foreach($form->getFieldset($fieldset->name) as $field):
// If the field is hidden, just display the input.
if ($field->hidden):
echo $field->input;
else:
?>
<dt>
<?php echo $field->label; ?>
</dt>
<dd>
<?php echo $field->input; ?>
</dd>
<?php
endif;
endforeach;
?>
</dl>
</fieldset>
<?php echo $pane->endPanel(); ?>
<?php
endforeach;
?>
<?php echo $pane->endPanel(); ?>
</div>
Code: Select all
<?php
defined('_JEXEC') or die( 'Restricted Access' );
jimport( 'joomla.application.component.view' );
jimport( 'joomla.filesystem.file' );
class MYCOMPViewTest extends JView
{
/* Daten */
var $_modelStandard = NULL;
var $_modelConfig = NULL;
var $_modelLaunchpad = NULL;
var $_modelLaunchpads = NULL;
var $_modelPerson = NULL;
var $_modelEvent = NULL;
function display($tpl = null)
{
$this->_modelStandard = $this->getModel('standard');
$this->_modelConfig = $this->getModel('config');
$configData = $this->_modelConfig->getData();
$this->_modelEvent = $this->getModel('event');
$eventData = $this->_modelEvent->getData(11);
JToolBarHelper::title(JText::_('COM_MYCOMP').' - '.JText::_('COM_MYCOMP_TEST_SECTION_NAME').'<br>'.$actEventText.'',
'generic.png' );
$this->assignRef('items', $eventData);
parent::display($tpl);
}
}
?>
![Huh ???](./images/smilies/icon_question.gif)
![Huh ???](./images/smilies/icon_question.gif)
![Huh ???](./images/smilies/icon_question.gif)
Nun habe ich in der default.php die Daten aus der DB mit dem Formular verbunden. Nur leider wird mir nichts angezeigt. Habe ich das was falsch gemacht?
Gruß
tria1312