+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Fehler bei Form-Ausgabe im Frontend

  1. #1
    Neu an Board
    Registriert seit
    28.04.2016
    Beiträge
    1
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Fehler bei Form-Ausgabe im Frontend

    Hallo zusammen. Ich versuche seit längerem, ein Form im Frontend zu erstellen. Leider immer mit dieser Fehlermeldung:

    Code:
    Fatal error: Call to undefined method mvcModelmvc::loadForm() in /home/usr/bksolution/public_html/components/com_mvc/models/mvc.php on line 19
    Weiss jemand von euch wieso??

    Meine Ordnerstruktur:
    • com_mvc
      com_mvc/mvc.xml
      com_mvc/admin
      com_mvc/site
      com_mvc/site/controller.php
      com_mvc/site/mvc.php
      com_mvc/site/models
      com_mvc/site/models/mvc.php
      com_mvc/site/models/forms
      com_mvc/site/models/forms/form.xml
      com_mvc/site/views
      com_mvc/site/views/mvc
      com_mvc/site/views/mvc/view.html.php
      com_mvc/site/views/mvc/tmpl
      com_mvc/site/views/mvc/tmpl/default.php

    Und die Dateien:
    com_mvc/site/controller.php
    Code:
    <?php
    // No direct access to this file
    defined('_JEXEC') or die('Restricted access');
     
    // import Joomla controller library
    jimport('joomla.application.component.controller');
     
    /**
     * Workshop Component Controller
     */
    class MvcController extends JController
    {
    }
    
    ?>
    com_mvc/site/mvc.php
    Code:
    <?php
    // No direct access to this file
    defined('_JEXEC') or die('Restricted access');
     
    // import joomla controller library
    jimport('joomla.application.component.controller');
     
    // Get an instance of the controller prefixed by Workshop
    $controller = JController::getInstance('Mvc');
     
    // Perform the Request task
    $input = JFactory::getApplication()->input;
    $controller->execute($input->getCmd('task'));
     
    // Redirect if set by the controller
    $controller->redirect();
    
    ?>
    com_mvc/site/models/mvc.php
    Code:
    <?php
    // No direct access to this file
    defined('_JEXEC') or die('Restricted access');
     
    // import Joomla modelitem library
    jimport('joomla.application.component.modelitem');
    
    class mvcModelmvc extends JModelItem
    {
     
            /**
             * Method to get the form.
             *
             * @access      public
             * @return      mixed   JForm object on success, false on failure.
             */
            public function getForm($data = array(), $loadData = true) 
            {
                    $form = $this->loadForm(
                                            'com_mvc.mvc',
                                            'form',
                                            array('control' => 'jform', 'load_data' => $loadData)
                                           );
                    return $form;
            }
    }
    
    ?>
    com_mvc/site/models/forms/form.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <form>
            <fieldset name="primary_fieldset">
                    <field
                            id="id"
                            name="id"
                            type="hidden"
                    />
                    <field
                    	id="primary"
                            name="primary"
                            type="list"
                            label="Primary Selection"
                            default="red">
                            <option value="red">Red</option>
                            <option value="blue">Blue</option>
                    </field>
            </fieldset>
            <fieldset name="secondary_fieldset">
                    <field
                            id="id"
                            name="id"
                            type="hidden"
                    />
                    <field
                    	id="secondary"
                            name="secondary"
                            type="list"
                            label="Secondary Selection"
                            default="green">
                            <option value="green">Green</option>
                            <option value="yellow">Yellow</option>
                    </field>
            </fieldset>
    </form>
    com_mvc/site/views/mvc/view.html.php
    Code:
    <?php
    // No direct access to this file
    defined('_JEXEC') or die('Restricted access');
     
    // import Joomla view library
    jimport('joomla.application.component.view');
    
    
    class mvcViewmvc extends JView
    {
            /**
             * View form
             *
             * @var         form
             */         
            protected $form = null;
            /**
             * display method of MVC view
             * @return void
             */
            public function display($tpl = null) 
            {
                    // get the Form
                    $form = & $this->get('Form');
                    // get the Data
                    if (count($errors = $this->get('Errors'))) 
                    {
                            JError::raiseError(500, implode("<br />", $errors));
                            return;
                    }
                    // Assign the form
                    $this->form = $form;
                    // Display the template
                    parent::display();
            }
    }
    
    ?>
    com_mvc/site/views/mvc/tmpl/default.php
    Code:
    <div class="first-fieldset">
        <form name="formname">
            <fieldset class="adminform">
                <legend>Primary Fields</legend>
                <?php foreach ($this->form->getFieldset('primary_fieldset') as $field): ?>
                    <?php echo $field->label; ?>
                    <?php echo $field->input; ?>
                <?php endforeach; ?>
            </fieldset>
        </form>
    </div>
    Weiss jemand, woher dieser Fehler kommt? Ich habe mich strikt an die Anleitung gehalten: https://docs.joomla.org/API16:JForm/getFieldset

  2. #2
    Wohnt hier Avatar von Re:Later
    Registriert seit
    21.04.2014
    Ort
    Berlin
    Beiträge
    4.772
    Bedankte sich
    130
    Erhielt 1.859 Danksagungen
    in 1.656 Beiträgen

    Standard

    Du verwendest eine veraltete Joomla 2.5 und verwendest eine Referenz einer noch älteren Joomla 1.6 ;-)

    Das einfachste ist, sich in Joomla-Core-Erweiterungen wie z.B. Banners, Weblinks, vielleicht weitere, umsehen und sich dort mal die Klassendeklarationen und grundlegenden MVC-Legacy-Methoden anzusehen, was sich geändert hat. Hab nicht näher hingeschaut, hätte aber erst mal ein falsches "extends" in Verdacht.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein