Как вывести в разделе новости, где все новости ключевые слова, титле и дискрипшион?

Здравствуйте, из урока от А до Я, сделал новости а сайте, есть раздел новости, в данном разделе выводятся все новости, краткий вариант, при клике на новость попадаем в полный вариант.

Так вот, я решил реализовать в контроллере админа.
Акшион индекс.

public function action_index() {
	
if (isset($_POST['submit'])) {
$data = Arr::extract($_POST, array('gltitle', 'gldescription', 'glkeywords'));
$news = ORM::factory('new');
$news->values($data);
$news->save();
}

$news = ORM::factory('new')->order_by('sorts','DESC')->find_all();

$content = View::factory('admin/news/v_news_index')
->bind('news', $news)
->bind('data', $data)
->bind('data', $news);

$this->template->page_title = 'Все акции сайта';
$this->template->content = $content;	
}


так же в шаблон админки где все новости я добавил форму с импутами и кнопкой сохранить.
<form action="/admin/news" method="post" class="form-horizontal">
<input type="text" name="gltitle" maxlength="80" id="textarea1" value="<?=$news->gltitle?>" />
<textarea name="gldescription" rows="2" maxlength="200" id="textarea2"><?=$news->gldescription?></textarea>
<textarea name="glkeywords" rows="1"><?=$news->glkeywords?></textarea>
<button type="submit" name="submit" id="submit" class="btn btn-primary">СОХРАНИТЬ ОПИСАНИЕ</button>
</form>


При нажатии на кнопку идет сохранение, в бд, и по мимо этого добавляется новость, но пустая, как буд тобы я добавил новость, параметры с импут полей сохранились, но если еще раз нажать или10 раз, то каждый рах сохраняет с разным id и так же добавляются новости пустые.

Я так понимаю дело в этом куске кода
if (isset($_POST['submit'])) {
$data = Arr::extract($_POST, array('gltitle', 'gldescription', 'glkeywords'));
$news = ORM::factory('new');
$news->values($data);
$news->save();
}


Подскажите почему при каждом сохранении метатегов, он добавляет так же новость, редактируешь или нажимаешь сохранить, каждый раз добавляет новость, как сделать чтобы я добавил и было под одним id и не каких новостей не добавлялось, я просто хочу параметры в бд сохранить, а потом на фронте в разделе где все новости вывести.
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 1
kimono
@kimono
Web developer
Так вам надо ж примерно так:
$news = ORM::findById($id);
$news->values($data);
$news->save();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы