В таблицу informationsystem_items добавил свое поле

Модератор
#
Re: В таблицу informationsystem_items добавил свое поле
Seri,
в modules/shop/item/controller/edit.php  есть _prepareForm?
Ответив на этот вопрос посмотрите примеры хуков по ссылке, которая здесь неоднократно давалась.
#
Re: В таблицу informationsystem_items добавил свое поле
HostCMS писал(а):
есть _prepareForm?

Нету. Не тот пример скопировал. Надо было так:
1. В файле bootstrap.php навешиваем нового наблюдателя на событие:
Core_Event::attach('Admin_Form_Action_Controller_Type_Edit.onBeforeExecute', array('Shop_Item_Controller_Edit_Observer', 'onBeforeExecute'));

2. Размещаем файл observer.php в директории /modules/shop/item/controller/edit/observer.php
class Shop_Item_Controller_Edit_Observer
{
    function onBeforeExecute($controller, $args)
    {
        list($operation, $Admin_Form_Controller) = $args;

        if (is_null($operation))
        {
            // Данное событие будет вызываться для всех форм, определяем с каким контроллером работаем
            switch (get_class($controller))
            {
                case 'Shop_Item_Controller_Edit':
                    $oMainTab = $controller->getTab('main');
          
                    $oContentTab = $controller->getTab('Description');
                    $oContentTab->add($oDescriptionRow1 = Admin_Form_Entity::factory('Div')->class('row'));
                
                    $oMainTab->move($controller->getField('sorting'), $oDescriptionRow1);
                break;
            }
        }
    }
}

Спасибо.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: В таблицу informationsystem_items добавил свое поле
Добрый вечер!

Помогите добавить поле в таб "Дополнительные свойства" поле file_name

1. В файле bootstrap.php навешиваем нового наблюдателя на событие:
Core_Event::attach('Admin_Form_Action_Controller_Type_Edit.onAfterRedeclaredPrepareForm', array('Informationsystem_Controller_Edit_Observer', 'onAfterRedeclaredPrepareForm'));



2. Размещаем файл observer.php в директории /modules/Informationsystem/item/controller/edit/observer.php

class Informationsystem_Controller_Edit_Observer
{
    static public function onAfterRedeclaredPrepareForm($controller, $args)
    {
        list($object, $Admin_Form_Controller) = $args;

        // Данное событие будет вызываться для всех форм, определяем с каким контроллером работаем
        switch (get_class($controller))
        {
            case 'Informationsystem_Controller_Edit':
      
          $oAdditionalTab = $controller->getTab('additional');
                $oAdditionalTab->add($controller->getField('file_name'));
            break;
        }
   }
}


Но ничего..и при добавлении элемента выдает ошибку

call_user_func() expects parameter 1 to be a valid callback, class 'Informationsystem_Controller_Edit_Observer' not found в файле D:\jf\OpenServer\domains\localhost\modules\core\event.php (строка 107)
#
Re: В таблицу informationsystem_items добавил свое поле
jfstyle писал(а):
call_user_func() expects parameter 1 to be a valid callback, class 'Informationsystem_Controller_Edit_Observer' not found в файле D:\jf\OpenServer\domains\localhost\modules\core\event.php (строка 107)

Система пишет что нету такого класса наблюдателя.
jfstyle писал(а):
class Informationsystem_Controller_Edit_Observer

Поправьте на
class Informationsystem_Item_Controller_Edit_Observer
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: В таблицу informationsystem_items добавил свое поле
Seri,
спасибо! исправила, ошибка ушла))

class Informationsystem_Item_Controller_Edit_Observer
{
    static public function onAfterRedeclaredPrepareForm($controller, $args)
    {
        list($object, $Admin_Form_Controller) = $args;

        // Данное событие будет вызываться для всех форм, определяем с каким контроллером работаем
        switch (get_class($controller))
        {
            case 'Informationsystem_Item_Controller_Edit':
      
          $oAdditionalTab = $controller->getTab('additional');
                $oAdditionalTab->add($controller->getField('file_name'));
            break;
        }
   }
}


Теперь пишет: Field `file_name` does not exist. Check field name and dataset!

Но я вижу в xml... может не так вкладка нзывается?

#
Re: В таблицу informationsystem_items добавил свое поле
Как называется вкладка, я нашла)
А а такого поля все равно пишет, что нет..

class Informationsystem_Item_Controller_Edit_Observer
{
    static public function onAfterRedeclaredPrepareForm($controller, $args)
    {
        list($object, $Admin_Form_Controller) = $args;

        // Данное событие будет вызываться для всех форм, определяем с каким контроллером работаем
        switch (get_class($controller))
        {
            case 'Informationsystem_Item_Controller_Edit':
      
          $oPropertyTab = $controller->getTab('Property');
          $oPropertyTab->add($controller->getField('file_name'));
            break;
        }
   }
}
#
Re: В таблицу informationsystem_items добавил свое поле
jfstyle писал(а):
Теперь пишет: Field `file_name` does not exist. Check field name and dataset!

В таблице informationsystem_items не найдена поле `file_name` вероятно вы еще не добавили...
Check field name and dataset! - Проверьте наименование поле и набор данных в таблице!
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: В таблицу informationsystem_items добавил свое поле
Seri,

Спасибо, что отвечаете))
не могли бы вы поделится примером, как добавить?

#
Re: В таблицу informationsystem_items добавил свое поле
jfstyle писал(а):
не могли бы вы поделится примером, как добавить?

Я имел ввиду так:
ALTER TABLE `informationsystem_items` ADD {Новое поле};

http://www.mysql.ru/docs/man/ALTER_TABLE.html
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: В таблицу informationsystem_items добавил свое поле
Seri,

эм...просветите, пожалуйста))

откуда тогда берется поле file_description у доп. св-ва Файл ?

в informationsystem_items нет такого поля, но оно есть во вкладке Дополнительные свойства
Авторизация