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

kadett

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

RustamDzh

  • Новичок
  • 2
  • 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

  • Профи
  • 4081
  • 376
Сделайте класс вашей модели наследуемым от JModelAdmin() и используйте конструкцию parent::save($data).
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

kadett

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

robert

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

Septdir

  • Практически профи
  • 2276
  • 113
  • JoomlaZen
Ну у меня утренний тупняк, но если память не подводить, то надо не в гет. А поле (можно скрытое) делать с именем id тогда оно не в гет а в пост пойдет.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Форма в xml-файле модуля

Автор vipiusss

Ответов: 2
Просмотров: 170
Последний ответ 24.07.2017, 10:40:16
от vipiusss
Получить данные AJAX в контроллере и направить их в модель для записи в бд

Автор donpekc

Ответов: 6
Просмотров: 301
Последний ответ 24.04.2017, 12:04:52
от donpekc
Как получить id записи в компоненте?

Автор vickof

Ответов: 1
Просмотров: 214
Последний ответ 23.06.2016, 09:40:04
от b2z
Как получить id записи?

Автор vickof

Ответов: 3
Просмотров: 366
Последний ответ 12.06.2016, 19:16:29
от vickof
Редактирование конкретного элемента через МОДАЛЬНОЕ окно

Автор platonische

Ответов: 0
Просмотров: 234
Последний ответ 17.03.2016, 14:40:52
от platonische