Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 878 Просмотров
*

kadett

  • Новичок
  • 2
  • 0 / 0
Доброго дня! Веду работу над компонентом. Там будет пользовательская форма для добавления и редактирования объекта. В модели формы есть метод save для сохранения формы в БД. Добавляется новая запись без проблем, а если открывать форму для редактирования, то меняется не старая запись в БД, а создается новая. В форме есть скрытое поле id записи. При пустом поле создается новая запись, а при заполненном id должна редактироваться соответствующая запись. Не пойму в чем баг?! Помогите кто может.
Вот код метода в модели формы:
Код
public function save($data)
{
$table = JTable::getInstance('Form', 'Table');
$table->bind($data);
return $table->store();
}
*

RustamDzh

  • Новичок
  • 2
  • 0 / 0
В шаблоне вида при вызове формы передавай id
Код
<?php $link = 'index.php?option=com_news&task=item.edit&id='.$row->id;?>
а в моделе в методе getItem получить id
Код
		$input = JFactory::getApplication()->input;

$id = $input->get('id',1,'INT');
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Сделайте класс вашей модели наследуемым от JModelAdmin() и используйте конструкцию parent::save($data).
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kadett

  • Новичок
  • 2
  • 0 / 0
Спасибо за подсказки. Класс модели и был наследован от JModelAdmin.
Интересно, для редактирования формы нужно реализовывать новую функцию в контроллере? У меня сейчас всё через одну - save($data). Просто если $id передаётся - это уже существующая запись. А если ничего не передаётся - новая запись.
Где бы про всё это поподробнее можно почитать? Дайте кто-нибудь наводку.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
$id передается в $_REQUEST (она присутствует в $_GET, когда вы открываете существующую запись для редактирования) и хранится в сессии.
Где бы про всё это поподробнее можно почитать? Дайте кто-нибудь наводку.
Лучше читайте сразу код. JModelAdmin, например, находится здесь: /libraries/legacy/model/admin.php.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ну у меня утренний тупняк, но если память не подводить, то надо не в гет. А поле (можно скрытое) делать с именем id тогда оно не в гет а в пост пойдет.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактирование данных в связанных таблицах

Автор NetFix

Ответов: 1
Просмотров: 588
Последний ответ 19.03.2019, 11:07:10
от platonische
создание новой записи во view компонента

Автор tm2010

Ответов: 29
Просмотров: 1802
Последний ответ 26.12.2017, 15:00:14
от Aleks.Denezh
ACL - взять rules конкретной записи

Автор platonische

Ответов: 3
Просмотров: 649
Последний ответ 23.10.2017, 23:26:50
от platonische
Логирование ошибок - куда сохраняются записи логов

Автор Inoken

Ответов: 3
Просмотров: 3687
Последний ответ 07.10.2017, 12:37:22
от dmitry_stas
Форма в xml-файле модуля

Автор vipiusss

Ответов: 2
Просмотров: 816
Последний ответ 24.07.2017, 10:40:16
от vipiusss