Сохранение данных из JModelList (Joomla 3)

В данный момент я пытаюсь сохранить следующую таблицу:

http://img5.fotos-hochladen.net/uploads/tabelle1k6xegf4tm.jpg

Когда я нажимаю на синюю кнопку под таблицей, необходимо сохранить только поля Моя проблема: я новичок в Joomla и не знаю, как сохранить это. Я использую правильные классы? Можно ли решить это с помощью табличного класса? Может быть, кто-то может отправить мне компонент, где что-то подобное решается? Или можете дать мне правильные примеры кода?

Здесь вы можете найти то, что я сделал:

class TippspielModelTippview extends JModelList 
    { 
        protected function getListQuery() 
        { 
            //Erstelle ein neues Query-Objekt 
            $db= JFactory::getDbo(); 
            $query= $db->getQuery(true); 

            //Hole alle Daten 
            $query->select('t2.id, t2.date, t2.goalsteam1, t2.goalsteam2, t1a.team AS mannschaft1, t1b.team AS mannschaft2'); 
            $query->from('#__tournament AS t2'); 
            $query->join('left','#__team AS t1a ON t2.team1 = t1a.id'); 
            $query->join('left','#__team AS t1b ON t2.team2 = t1b.id'); 
            $query->order('date'); 

            //und liefere es zurück 
            return $query;         
        } 

    }  

Вид

class TippspielViewTippview extends JViewLegacy 
    { 
        //Variable zur Speicherung aller Teams 
        protected $pages; 
        protected $games; 

        function display($tpl = null) 
        { 
            //Hole Daten aus dem Modul 
            $this->games = $this->get('Items'); 
            $this->pages = $this->get('Pagination'); 

            //Layout aktivieren und ausgeben 
            parent::display($tpl); 
        } 
    }  

Форма

<form action="<?php echo JRoute::_('index.php?option=com_tippspiel&view=tippview'); ?>" method= "post" name="adminForm" id="adminForm">
    <?php echo $this->pages->getLimitBox(); ?>
    <table class="table table-striped">
        <thead>
            <tr>
                <th>Heim</th>
                <th>Gast</th>
                <th>Spielbeginn</th>
                <th>Tipp</th>
                <th>Ergebnis</th>
                <th>Punkte</th>
            </tr>
        </thead>
        <tbody>
             <?php foreach($this->games as $i => $game): ?>
                <tr>
                    <td><?php echo $game->mannschaft1; ?></td>
                    <td><?php echo $game->mannschaft2; ?></td>
                    <td><?php echo JHtml::date($game->date); ?></td>
                    <td>Tipp</td>
                    <td><?php echo $game->goalsteam1; ?> : <?php echo $game->goalsteam2; ?></td>
                    <td>Punkte</td>
                </tr>
             <?php endforeach; ?>
        </tbody>

1 ответ

Решение

JModelList для перечисления элементов.

Для отображения формы создания / редактирования и сохранения элемента вам необходимо использовать JModelAdmin.

Однако то, что вы пытаетесь сохранить, не является "элементом", поэтому вы можете использовать JModelLegacy. Использование JModelList здесь не является большой проблемой, оно все еще работает, но я предпочитаю JModelLegacy.

Вы отправляете свои значения в контроллер, контроллер получает значения и сохраняет их, после сохранения перенаправляет вас в другое представление или в то же представление.

Другие вопросы по тегам