Joomla 1.5 Занесение данных из формы front-end в базу

Тема в разделе "Программирование", создана пользователем funktioner, 17.02.2009.

  1. Offline

    funktioner Недавно здесь

    Регистрация:
    14.02.2009
    Сообщения:
    7
    Симпатии:
    0
    Прочитал всю доку на этом сайте, прочесал орг, изнасиловал гуглю а ответ на такой простой вопрос не нашёл. Пройдя все уроки http://kjoomla.com/lessons/35-lessons/45-lesson1.html , получил работающий компонент который вносит приветствия на различных языках в БД в админке и админ может всё что хочешь с ними делать. НО! во front-end выводится из базы только первая запись и ВСЁ!? А как делать тоже самое что и в админке? Может пример хотя бы простенький, я принцип похоже не догоняю. Хотя в ПХП не такой уж новичок.
     
  2.  
  3. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    >НО! во front-end выводится из базы только первая запись и ВСЁ
    То есть выводящий код мы должны угадывать?
     
  4. Offline

    funktioner Недавно здесь

    Регистрация:
    14.02.2009
    Сообщения:
    7
    Симпатии:
    0
    Прошу прощения, но я специально привёл ссылку на статью где приводится код. Если проследовать по ссылке влом, то я могу сказать что это просто выборка из БД одной записи, что не представляет никакого интереса и не является сутью вопроса. Вопрос в том как сделать возможным редактирование этой записи и занесение её опять в базу скажем по нажатии кнопки "SAVE".
     
  5. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    А где там код, работающий с базой?

    И насколько я понял, вопрос состоял в "во front-end выводится из базы только первая запись и ВСЁ". Я просил код именно к этому вопросу.
     
  6. Offline

    funktioner Недавно здесь

    Регистрация:
    14.02.2009
    Сообщения:
    7
    Симпатии:
    0
    Нет, знак вопроса стоит в предложении
    . А уточнение:
    . А так как речь идёт о работе компонента по принципу MVC приводить весь код накладно (будет слишком большое сообщение). Вопрос ведь пока стоит о логике работы MVC при работе с данными во front-end.
     
  7. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Хорошо.

    Логика и там и сям одна и та же.

    Вход компонента подается на контроллер (класс, наследуемый от JController). Логичная для джумлы тема, когда исполняемый метод зависит от переменной task. Далее шаг модели в принципе можно пропустить, в джумле работает и без этого. Данные, которые сформировала модель выводятся во view.

    Обычная практика сохранения данных это некое подобие ORM. Создается некий класс, наследуемый от JTable, который посредством метода store() сохраняет свои поля в свою же таблицу.

    Помимо этого существует жесткая система правильного наименования классов. Одно отступление - и фиг вам.
     
  8. Offline

    funktioner Недавно здесь

    Регистрация:
    14.02.2009
    Сообщения:
    7
    Симпатии:
    0
    Вот-вот, теперь мы в теме. И всплывает 1-я проблема: почему-то класс JToolBarHelper сделан так, что он не работает во front-end, только в админке. (Логика разработчиков в этом мне не понятна.) Остаётся возможность только с помощью ява-скрипта устанавлиать, к примеру task= store при нажатии кнопки Save. Вот только где? В контролере, вью или форме?
     
  9. Offline

    funktioner Недавно здесь

    Регистрация:
    14.02.2009
    Сообщения:
    7
    Симпатии:
    0
    Всё ясно, вопрос снят,тема закрыта.
     
  10. Offline

    TitanSword Недавно здесь

    Регистрация:
    22.11.2010
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Ну а чего же вы ответ на вопрос, то не написали?
    Меня вот тоже интересует как это всё реализуется во фронтэнде.
     
  11. Offline

    nord_tramper Недавно здесь

    Регистрация:
    05.06.2010
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Т.к. ТС ответ не опубликовал - ранимирую темку.
    Проблема таже - как сохранить данные из формы в базу - фронт-энд.

    1. в controller.php - добавил метод save()
    Код (PHP):
    1. function save()
    2.   {
    3.     $model = &$this->getModel('Waymarking');
    4.     if ($model->savePoint(1,2,3,4,5,6)) {
    5.       $msg = 'Succcess!';    
    6.     } else {
    7.       $msg = 'Error';    }
    8.  
    9.     $link = '/index.php?option=com_waymarking&view=waymarking';
    10.     $this->setRedirect($link, $msg);   
    11.   }

    2. собственно форма
    Код (html):
    1. <script language="javascript" type="text/javascript">
    2. function submitform(button)
    3. {
    4. WaymarkingAdd.task.value=button;
    5. WaymarkingAdd.submit();
    6. }
    7. </script>
    8. <form enctype="multipart/form-data" name="WaymarkingAdd" action="/index.php?option=com_waymarking&view=waymarkingadd" method="post" onsubmit="return true">
    9. <table cellspacing=10>
    10. ......
    11. <input type="submit" name="btnSave" id="btnSave" value="Сохранить точку" onclick="submitform('save')">
    12.  
    13. <input type="hidden" name="id" id="id" value=""/>
    14. <input type="hidden" name="task" id="task" value=""/>
    15. <input type="hidden" name="option" id="option" value=""/>
    16. </form>


    Жамкаем кнопку - в ответ error-404, в строке адреса ничего не мнятеся. Что не так? (сам процесс сохранения пока не писал - там просто return true)
     

Поделиться этой страницей

Загрузка...