Копирование компонентов

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
dds
Сообщения: 102
Зарегистрирован: 2013.11.18, 10:48

Копирование компонентов

Сообщение dds »

Всем привет, собственно к делу. Если кто знаком с joomla то там существует копирование модулей. На основе каталога с модулем создаются копии модуля в бд со своими параметрами...
Как реализовать такую систему с виджетами... как на основе созданного виджета в компонентах, создавать еще копии этого виджета только с разными параметрами...без создания каталога с виджетом. Надеюсь вопрос понятен...заранее благодарен..
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Копирование компонентов

Сообщение Nafania »

Вам, наверное, просто надо вызывать виджет с разными параметрами.
Зачем копировать одинаковый код?
deblogger
Сообщения: 83
Зарегистрирован: 2013.11.09, 15:12

Re: Копирование компонентов

Сообщение deblogger »

Есть такая техника - value object. VO - immutable. В отличии от инстанси которая мутирует от одного чиха. VO клонируются. В процессе клонирования в ДНК вносятся необходимые коррективы.
dds
Сообщения: 102
Зарегистрирован: 2013.11.18, 10:48

Re: Копирование компонентов

Сообщение dds »

Nafania писал(а):Вам, наверное, просто надо вызывать виджет с разными параметрами.
Зачем копировать одинаковый код?
Параметров может быть очень много.... нужно автономно производить копию...У меня виджеты в бд выглядят так :

Код: Выделить всё

CREATE TABLE `Widgets` (
    `id` INT(5) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(55) NOT NULL COLLATE 'utf8_general_ci',
    `enabled` INT(1) NOT NULL,
    `pages` TEXT NULL COLLATE 'utf8_general_ci',
    PRIMARY KEY (`id`)
) 
Хочется как то в бд делать копию строки и во вьюхе был уже клон на основе каталога виджета в компонентах но с пустыми пока настройками... настройки по идее в json хранить в 1 ячейке в таблице...назовем ее "params" к примеру... И добавить колонку "types" - тип виджета - название каталога с виджетом к примеру... (testWidget)
Как быть с логикой в контроллере виджета что бы он разные настройки считывал из колонки "params"? И как быть с отображением виджета в шаблоне...как отображать "копию" виджета не внося каждый раз изменения... что бы допустим копия вызывалась в том же месте где оригинал...(где идет вызов оригинального виджета в шаблоне).
deblogger
Сообщения: 83
Зарегистрирован: 2013.11.09, 15:12

Re: Копирование компонентов

Сообщение deblogger »

И чего такая сиротская таблица дает? Она связана с еще какими-то?
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Копирование компонентов

Сообщение Nafania »

Идею я вашу понял, но как реализовать я подсказать не могу, так как таким не занимался.
Мне кажется надо смотреть в сторону clips.
Обозначить ими места в шаблонах, сделать некий экстеншн который будет запускать нужные виджеты на нужных страницах, которые в свою очередь будут вставлять необходимый контент в нужное место.
Все это весьма и весьма примерно конечно же.
dds
Сообщения: 102
Зарегистрирован: 2013.11.18, 10:48

Re: Копирование компонентов

Сообщение dds »

deblogger писал(а):И чего такая сиротская таблица дает? Она связана с еще какими-то?
Пока лишь только включение отключение виджетов и страницы на которых они отображаются...
deblogger
Сообщения: 83
Зарегистрирован: 2013.11.09, 15:12

Re: Копирование компонентов

Сообщение deblogger »

Джи оказываться умеет делать нечто подобное viewtopic.php?f=3&t=15053
Ответить