.
Пишем EASY CMS. Урок 17. Редактируем связные данные.
Автор megabax   
19.09.2011 г.
Структура программы на примере простейшей программы

Пишем EASY CMS. Урок 17. Редактируем связные данные.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Исходники к уроку можно скачать в платном разделе.

На прошлом уроке я писал про ссылочный тип данных, благодаря чему мы получили возможность в таблице базы данных видеть не код ссылки, а название элемента таблицы, куда ссылается этот код. Ну, или не название, а какое другое поле. Нас никто не ограничивает, какое поле показывать вместо кода. Правда, редактировать все это было по прежнему неудобно - в форме редактирование код все равно приходилось вводить вручную. Но теперь в EASY_CMS появилась возможность редактировать такие ссылочные поля нормально, вот так:

Пишем EASY CMS. Урок 17. Редактируем связные данные.

Для этого в класс ECMS_Field я добавил поле _calculate, которая показывает, является ли данное поле вычисляемым (что бы не выводить вычисляемые поля в форме редактирования). По умолчанию это значение false. В связи с чем, изменился  текст файла test_lib.php:

...

        if($tv_name=="scores_view") {

            $cl=new ECMS_Field("_test_view","Наименование теста",null,null);

            $cl->_calculate=true;

            $tv->columns[]=$cl;

        }

...

Разумеется, пришлось изменить функции show_edit_form и show_edit_addform класса ECMS_Table_row_editor, что бы они могли выводить в форму редактирования список выбора...

...

... поле выбора из списка формирует новый метод get_select_field  класса ECMS_Table_row_editor...

...

... Этот метод формирует тэг <select>, наполняя его данными из связной таблицы. Для того, что бы создать связную таблицу, необходимо получить ссылку на базу данных (класс ECMS_Database), поэтому в классе ECMS_Table пришлось реализовать метод get_database, служащий для получения ссылки на базу данных:

    function get_database() {

        return $this->database;

    }

Текст файла текст файла admin.php не изменился.

Исходники к уроку можно скачать в платном разделе.

 

 

Последнее обновление ( 19.09.2011 г. )