Прочитал всю доку на этом сайте, прочесал орг, изнасиловал гуглю а ответ на такой простой вопрос не нашёл. Пройдя все уроки http://kjoomla.com/lessons/35-lessons/45-lesson1.html , получил работающий компонент который вносит приветствия на различных языках в БД в админке и админ может всё что хочешь с ними делать. НО! во front-end выводится из базы только первая запись и ВСЁ!? А как делать тоже самое что и в админке? Может пример хотя бы простенький, я принцип похоже не догоняю. Хотя в ПХП не такой уж новичок.
>НО! во front-end выводится из базы только первая запись и ВСЁ То есть выводящий код мы должны угадывать?
Прошу прощения, но я специально привёл ссылку на статью где приводится код. Если проследовать по ссылке влом, то я могу сказать что это просто выборка из БД одной записи, что не представляет никакого интереса и не является сутью вопроса. Вопрос в том как сделать возможным редактирование этой записи и занесение её опять в базу скажем по нажатии кнопки "SAVE".
А где там код, работающий с базой? И насколько я понял, вопрос состоял в "во front-end выводится из базы только первая запись и ВСЁ". Я просил код именно к этому вопросу.
Нет, знак вопроса стоит в предложении . А уточнение: . А так как речь идёт о работе компонента по принципу MVC приводить весь код накладно (будет слишком большое сообщение). Вопрос ведь пока стоит о логике работы MVC при работе с данными во front-end.
Хорошо. Логика и там и сям одна и та же. Вход компонента подается на контроллер (класс, наследуемый от JController). Логичная для джумлы тема, когда исполняемый метод зависит от переменной task. Далее шаг модели в принципе можно пропустить, в джумле работает и без этого. Данные, которые сформировала модель выводятся во view. Обычная практика сохранения данных это некое подобие ORM. Создается некий класс, наследуемый от JTable, который посредством метода store() сохраняет свои поля в свою же таблицу. Помимо этого существует жесткая система правильного наименования классов. Одно отступление - и фиг вам.
Вот-вот, теперь мы в теме. И всплывает 1-я проблема: почему-то класс JToolBarHelper сделан так, что он не работает во front-end, только в админке. (Логика разработчиков в этом мне не понятна.) Остаётся возможность только с помощью ява-скрипта устанавлиать, к примеру task= store при нажатии кнопки Save. Вот только где? В контролере, вью или форме?
Ну а чего же вы ответ на вопрос, то не написали? Меня вот тоже интересует как это всё реализуется во фронтэнде.
Т.к. ТС ответ не опубликовал - ранимирую темку. Проблема таже - как сохранить данные из формы в базу - фронт-энд. 1. в controller.php - добавил метод save() Код (PHP): function save() { $model = &$this->getModel('Waymarking'); if ($model->savePoint(1,2,3,4,5,6)) { $msg = 'Succcess!'; } else { $msg = 'Error'; } $link = '/index.php?option=com_waymarking&view=waymarking'; $this->setRedirect($link, $msg); } 2. собственно форма Код (html): <script language="javascript" type="text/javascript"> function submitform(button) { WaymarkingAdd.task.value=button; WaymarkingAdd.submit(); } </script> <form enctype="multipart/form-data" name="WaymarkingAdd" action="/index.php?option=com_waymarking&view=waymarkingadd" method="post" onsubmit="return true"> <table cellspacing=10> ...... <input type="submit" name="btnSave" id="btnSave" value="Сохранить точку" onclick="submitform('save')"> <input type="hidden" name="id" id="id" value=""/> <input type="hidden" name="task" id="task" value=""/> <input type="hidden" name="option" id="option" value=""/> </form> Жамкаем кнопку - в ответ error-404, в строке адреса ничего не мнятеся. Что не так? (сам процесс сохранения пока не писал - там просто return true)