Здравствуйте, не силен в php, решил тут вопрос задать.
Есть категория вопрос-ответ, и таблица в бд, категория работает, есть общая категория где видно все вопросы и ответы, так вот в этой общей категории я сделал seo поля, титл, дискрипшион и кеювордс, в этих полях я хочу сохранять seo текста для страницы, чтобы потом выводилось.
Но есть но, не знаю как правильно записывать в id 1, ибо в таблице есть другие id, сами вопросы и ответы.
Щас он мне записывает каждый раз создавая новый id, а я хочу в 1 id записывать эти seo текста и чтобы с этого id 1 и выводило, а не создавала новый id при сохранении.
Не хотел отдельный раздел делать типа seo, где надо было выводить эту форму.
Вот что я намудрил ))
public function action_index()
{
$voprosotvet = ORM::factory('voprosotvet')
->order_by('sorts', 'DESC')
->find_all();
$id = (int)$this->request->param('id');
$voprosotvet = ORM::factory('voprosotvet', $id);
if (isset($_POST['submit']))
{
$data = Arr::extract($_POST, array('pagetitle', 'description', 'keywords'));
$voprosotvet = ORM::factory('voprosotvet', 'id', '=', '1');
$voprosotvet->values($data);
$voprosotvet->save();
}
$content = View::factory('admin/voprosotvet/index')
->bind('id', $id)
->bind('data', $data)
->bind('voprosotvet', $voprosotvet);
$this->template->page_title = 'Все вопросы-ответы';
$this->template->content = $content;
}
Обычно я делал так, вот пример раздела акции, где тож много акций всяких в виде блоков, в акции можно заходить все дела и читать подробнее.
Я там реализовал отдельный раздел seo, но не удалось записывать в имеющею таблицу акции, записывал в сеттинг, где создал поля, там один id 1, в него записывалось с него и выводилось.
Но это костыльный метод я так понял, хня.
public function action_seoakcii()
{
$settings = ORM::factory('setting')
->where('id', '=', '1')
->find();
if (isset($_POST['submit']))
{
$data = Arr::extract($_POST, array('akciititle', 'akciidescription', 'akciikeywords'));
$settings->values($data);
$settings->save();
}
$content = View::factory('admin/akcii/seoakcii_index')
->bind('data', $settings);
$this->template->page_title = 'Seo раздела акции';
$this->template->content = $content;
}