Joomla 1.0 mosDBTable - добавление полей

Тема в разделе "Программирование", создана пользователем ---Zak---, 30.11.2009.

  1. Offline

    ---Zak--- Недавно здесь

    Регистрация:
    20.11.2009
    Сообщения:
    14
    Симпатии:
    0
    Пол:
    Мужской
    День добрый... огромное спасибо за поддержку !!! Но вот столкнулся с еще очередной головной болью.

    Пишу компонент, в котором админ в праве добавлять поля в таблицу (БД)... допустим рассмотрим пример:

    Существует таблица в БД - телефоны - в ней на первый момент всего 3 поля (id, firma, model) - вроде по началу все устраивает.
    Делаю кнопку в админке - на которой висит поле - "Добавить новое поле в *телефон*" -
    Введите наименование поля - допустим это будет цвет телефона.

    Нажимаем сохранить и выполняется два добавления:
    1. в структуру БД телефонов добавляется новое поле *post100*
    2. в БД всех полей (данная БД служит средством вывода наименования полей, т.е. в ней хранятся наименования полей и само название поля) добавляется новое поле:
    id = *auto_increment*
    pole = post100
    name = Цвет

    Переходим к следующему этапу - добавление самих телефонов...
    Скрипт позволяет выводить уже не ДВА поля (firma, model) для заполнения, а уже ТРИ (firma, model, post100)... но вот в чем беда...

    Добавление в БД я делаю через "mosDBTable"
    Код (PHP):
    1. class PHONE_CLASS extends mosDBTable {
    2.     var $id = null;
    3.     var $firma = null;
    4.     var $model = null;
    5.  
    6.     function PHONE_CLASS( &$_db ) {
    7.                 $this->mosDBTable( '#__phone', 'id', $_db );
    8.     }
    9. }

    В функции SAVE соответственно пишу:
    Код (PHP):
    1. $row = new PHONE_CLASS($database);
    2. $row->store();


    Но как я понял в БАЗУ добавятся только поля описанные в
    Код (PHP):
    1. class PHONE_CLASS extends mosDBTable {

    а именно:
    Код (PHP):
    1. var $id = null;
    2.     var $firma = null;
    3.     var $model = null;


    Подскажите плиз - как сделать так, чтобы все поля добавлялись в БД ??? Даже "новоиспеченные"...
     
  2.  
  3. Offline

    deadheart Недавно здесь

    Регистрация:
    07.09.2009
    Сообщения:
    69
    Симпатии:
    0
    Пол:
    Мужской
    единственное, что приходит на ум - это обновлять файлик, т.е добавить туда var $post100 = null; . Врядли можно это сделать другим образом.
     
  4. Offline

    ---Zak--- Недавно здесь

    Регистрация:
    20.11.2009
    Сообщения:
    14
    Симпатии:
    0
    Пол:
    Мужской
    Эх... плоха. Ладушки будем колдовать надо этим всем.
     
  5. sectus
    Offline

    sectus специалист

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Ну и добавь ты поля нужные.
    Код (PHP):
    1. $row = new PHONE_CLASS($database);
    2. $row->post100 = null;
    3. $row->bind($_POST);
    4. $row->store();
     
  6. Offline

    ---Zak--- Недавно здесь

    Регистрация:
    20.11.2009
    Сообщения:
    14
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо огромное за идею... попробую.
     

Поделиться этой страницей

Загрузка...