Редактирование записи

Вопросы об установке, настройке и работе самого фреймворка

Редактирование записи

Сообщение Leftfield » 09 июн 2010, 23:06

Здравствуйте, решил начать работать с этим фреймворком, изучаю понемногу, начал писать свою CMS , столкнулся с первой непонятной задачей, а точнее редактирование существующей записи, на данный момент имеется следующий функционал:
добавление страницы/удаление
обзор страниц
добавление категорий/удаление
обзор категорий

теперь мне нужно сделать соответственно редактирование записи, использовал различные примеы они мне не подходят т.к. я не работаю с родными обработчиками и библиотеками форм , пока делаю по делитантски, но со временем приду к стандарту CI...
Что имею:
в виде редактирования записи есть форма:
Код: Выделить всё
<form id="form1" name="form1" method="post" action="/admin/pageedit/">

                                    <
p>
                                        <
input name="textfield" type="text" size="60" />
                                    </
p>
                                  <
p>

                                        <
textarea  name="textarea" rows="15" cols="80" style="width: 80%"></textarea>
                                    </
p>
                                    <
p>
                                        <
input type="submit" name="Submit" value="Редактировать" />
                                    </
p>
                                </
form


затем в контроллере ее вызываю (не знаю как загрузить ее с записью, а не пустую),
в модели есть что то типо :
Код: Выделить всё
  function get($id) {
        
$this->db->where('id'$id);
        
$query $this->db->get('stand_alone_pages');
        return 
$query->row_array();
    } 


Как теперь в контроллере вызывать ВИд формы чтобы туда загружались уже не пустая форма, а форма сданными по id. , т.ке в поле textfield должно отображаться титл записи, а в textarea тело статьи, прошу помощи ничего не получается, возможно я начал изначально не правильно т.к я не знал что там можно работаь с библиотекой форм, но уже проделана большая работа, просьба подсказать вот на таком простом примере, заранее спасибо !
Leftfield
 
Сообщения: 12
Зарегистрирован: 09 июн 2010, 22:52

Re: Редактирование записи

Сообщение bvn » 10 июн 2010, 11:14

Это должно помочь вам http://codeigniter.com/user_guide/libra ... latingform
Мой блог: junkabyss.com
Аватара пользователя
bvn
 
Сообщения: 181
Зарегистрирован: 30 авг 2009, 22:39
Откуда: Полтава, Украина

Re: Редактирование записи

Сообщение Leftfield » 12 июн 2010, 11:01

Не работает Update метод теперь ...
вот код из контроллера:
Код: Выделить всё
if ($this->validation->run() == FALSE) {
            
$this->load->view('admin/editpage'$data);
        }
        else {
            
            echo 
$page_title $this->input->post('textfield');
            echo 
$page_text $this->input->post('textarea');
            echo 
$page_date date('Y:m:d');
            
            
$data = array('title' => $page_title'fulltext' => $page_text,
                    
'date'=>$page_date );
            print 
"<pre>";
            
print_r($data);
            
$this->Kernel->update($id);
            
redirect('/admin/browsepages/');
        } 


вот код из модели которую вызываю:
Код: Выделить всё
 function update($id) {
     
$this->db->where('id'$data['id']);
        
$this->db->update('stand_alone_pages'$data);                        
    } 


выводит кучу ошибок:
A PHP Error was encountered

Severity: Warning

Message: Missing argument 1 for Admin::pageedit()

Filename: controllers/admin.php

Line Number: 95
CodeCMS движок для сайтов Визитка версия 0.1

rtytryt
2010:06:12

Array
(
[title] => CodeCMS движок для сайтов Визитка версия 0.1
[fulltext] =>

rtytryt

[date] => 2010:06:12
)
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: id

Filename: controllers/admin.php

Line Number: 129
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: data

Filename: models/kernel.php

Line Number: 32
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: data

Filename: models/kernel.php

Line Number: 33
A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at Z:\home\codecms\www\system\libraries\Exceptions.php:166)

Filename: codeigniter/Common.php

Line Number: 360






A Database Error Occurred

You must use the "set" method to update an entry.





Не могу понять в чом дело , метод обновления вроде классический, а работать не хочет ...
Leftfield
 
Сообщения: 12
Зарегистрирован: 09 июн 2010, 22:52

Re: Редактирование записи

Сообщение bvn » 12 июн 2010, 11:53

admin/pageedit вроде как аргумента просит, а вы не даете :)
И все же обратили бы внимание на мою ссылочку ;)
Мой блог: junkabyss.com
Аватара пользователя
bvn
 
Сообщения: 181
Зарегистрирован: 30 авг 2009, 22:39
Откуда: Полтава, Украина

Re: Редактирование записи

Сообщение Leftfield » 12 июн 2010, 11:57

bvn писал(а):admin/pageedit вроде как аргумента просит, а вы не даете :)
И все же обратили бы внимание на мою ссылочку ;)

Да я обратил внимание на вашу ссылку и она мне помогла с получением данных в форму при редактировании, вы не могли бы сказать правильно лия делаю метод обновления?
Код: Выделить всё
 function update($id) {
     $this->db->where('id', $data['id']);
        $this->db->update('stand_alone_pages', $data);                        
    
} 

а вот и сам массив в контроллере
Код: Выделить всё
 $page_title = $this->input->post('textfield');
            $page_text = $this->input->post('textarea');
            $page_date = date('Y:m:d');

            $data = array('title' => $page_title, 'fulltext' => $page_text,
                    'date'=>$page_date );
 
$this->Kernel->update($id);
            
redirect('/admin/browsepages/');
 

а аргумент я передаю
Код: Выделить всё
function pageedit($id) {...... 
Leftfield
 
Сообщения: 12
Зарегистрирован: 09 июн 2010, 22:52

Re: Редактирование записи

Сообщение bvn » 12 июн 2010, 12:43

Leftfield писал(а):Да я обратил внимание на вашу ссылку
Просто вы используете устаревшую библиотеку validation
вы не могли бы сказать правильно лия делаю метод обновления?
Код: Выделить всё
 function update($id) {
     $this->db->where('id', $data['id']);
        $this->db->update('stand_alone_pages', $data);                        
    
} 


Локальная переменная $data не определена...
Мой блог: junkabyss.com
Аватара пользователя
bvn
 
Сообщения: 181
Зарегистрирован: 30 авг 2009, 22:39
Откуда: Полтава, Украина


Вернуться в Общие вопросы по фреймворку

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron