Page 1 of 1

Установка модуля под "псевдонимом"

Posted: Wed Feb 04, 2009 12:32 pm
by skyboy
возможно ли штатными средствами установить модуль не под заложенным  в код именем, а под некоторым "псевдонимом"?
бывает, что один и тот же модуль используется в разных ролях(к примеру, модуль "Products manager" выступает для реализации каталога предприятий, и для реализации каталога предлагаемых каждым предприятием товаров), каждая роль предполагает разный набор полей/параметров/шаблонов и из одной "кучи" бывает довольно сложно "вытаскивать" информацию в необходимом виде.

Re: Установка модуля под "псевдонимом"

Posted: Wed Feb 04, 2009 12:50 pm
by ZYV
Только если ты его скопируешь в другую папку и переименуешь класс, исправишь код. Делать недолго...

Re: Установка модуля под "псевдонимом"

Posted: Wed Feb 04, 2009 3:24 pm
by skyboy
угу.
меня интересовало, может, есть такое уже встроенное - на уровне менеджера расширений.

Re: Установка модуля под "псевдонимом"

Posted: Thu Feb 05, 2009 12:19 am
by ZYV
К сожалению, нет. Правда сам не встречался с такой необходимостью.

Re: Установка модуля под "псевдонимом"

Posted: Fri Feb 20, 2009 10:37 am
by skyboy
Я тут думал: что же надо изменить?
Положим, у нас в одной константе хранится "используемое имя" модуля. В какие жестко заданные элементы кода придется добавить эту константу?
Имя класса, имя файла, обращение к таблицам БД, список permissions, тег для быстрого доступа(если кроме cms_module подразумевается использование и сокращенного варианта), результаты методов getName и getFriendlyName. Что-то ещё?
Routes, я так понимаю, тоже надо будет менять, да?
Я вот подумал: если проанализировать необходимые изменения и аргументировать разработчикам ядра CMS, то эту константу, которая использовалась бы в коде модуля наряду с тем же "cms_db_prefix()", можно было бы определять при установке. Т.е. слегка доработанная(указать имя файла с основным кодом класса модуля и записать в определенный метод класса константу с "псевдонимом"-префиксом) версия менеджера модулей уже дала бы возможность устанавливать под разными именами прозрачно для конечного пользователя: да и модули будут требовать(как мне кажется) минимальной доработки.

Re: Установка модуля под "псевдонимом"

Posted: Fri Feb 20, 2009 8:09 pm
by ZYV
Нормальная идея. С тегом вопрос можно решить передавая какую нибудь переменную типа instance="module-1". У тебя есть время/желание? Заходи в IRC и убеждай :) Ну или запостить в английскую часть можно.

Re: Установка модуля под "псевдонимом"

Posted: Sun Feb 22, 2009 8:51 pm
by skyboy
ZYV wrote: Нормальная идея. С тегом вопрос можно решить передавая какую нибудь переменную типа instance="module-1". У тебя есть время/желание? Заходи в IRC и убеждай :) Ну или запостить в английскую часть можно.
Насчет тега: если модуль в меню называется как "textes", то работа с тегом {Products instance="module-1"} в шаблоне будет запутывать разработчиков. так что пускай уже "короткие" теги прписываются вручную, как плагины Smarty. Теми, кому нужно и кто разбирается. А так: если при установке модулю Products будет указан "псевдоним" , то не только таблицы в БД и пункты меню будут связаны с этим именем, но и вызов будет выглядеть так: {cms_module module="portfolio"}
Насчет убеждать - я не против, но с разговорным английским у меня сильно слабо.
С другой стороны, предлагаю дополнитль только класс CMSModule для начала. А потом уже дело будет за разработчиками модулей: точно так же, как и cms_db_prefix, в принципе, можно не использовать(что, конечно, вызовет определенные проблемы), так же и старые модули должны будут работать(без использования константы/метода get_alias()), так и новые, строящие запросы и выводящие данные в зависимости от псевдонима. Так что эта модернизация действительно - больше по части согласования и организации, чем по технической стороне.
С другой стороны, хотелось бы иметь механизм автоматизирования раздачи алиасов(для начала - при установке), но это уже потребует вмешательства в код менеджера модулей, что лично мне в данный момент не по силам - я даже толком не смотрел, как этот менеджер устроен.
Может, ты смог бы озвучить эту идею в англоговорящем форуме?

Re: Установка модуля под "псевдонимом"

Posted: Sun Feb 22, 2009 8:53 pm
by skyboy
если модуль в меню называется как "textes", то работа с тегом {Products instance="module-1"} в шаблоне будет запутывать разработчиков
там должно быть по-другому чуток:
если модуль в меню называется как "textes", то работа с тегом {Products instance="textes"} в шаблоне будет запутывать разработчиков[

Re: Установка модуля под "псевдонимом"

Posted: Sun Feb 22, 2009 10:02 pm
by ZYV
У меня, к сожалению, в ближайшие месяцы не будет на это времени - работа, поддерживаю форум насколько хватает сил на добровольных началах - как правило короткими и быстрыми ответами...

Re: Установка модуля под "псевдонимом"

Posted: Sun Feb 22, 2009 10:54 pm
by skyboy
угу.
постараюсь сам.
спасибо за направление.

Re: Установка модуля под "псевдонимом"

Posted: Tue Feb 24, 2009 1:57 pm
by skyboy
то ли я вконец непонятно написал, то ли идея недостояна. почти полсотни просмотров темы, ни одного ответа.

Re: Установка модуля под "псевдонимом"

Posted: Wed Apr 01, 2009 9:25 am
by skyboy
239 просмотров, ни одного ответа.
люди! ну, скажите мне, в чем я не прав? Раз игнор, значит - идея недостойна даже обсуждения. Верно? Но почему тогда мне удобнее менять одну константу и переименовывать файл, чем каждый раз шестрить код на предмет имен таблиц в БД и папок, для замены одних значений на другие?
Обидно не потому, что идея моя, а потому что не понимаю - что тут глупого?

Re: Установка модуля под "псевдонимом"

Posted: Wed Apr 01, 2009 12:40 pm
by ZYV
Игнор потому, что надо и IRC идти и там баламутить. Core team реализует фичи, за которые платят, чем и живет. У всего остального приоритет минимальный - подгонишь патч и убедишь закоммитить - фича будет. Не сделаешь - не будет. А у тебя там много буков, по своей воле никто это читать не будет ;)

Re: Установка модуля под "псевдонимом"

Posted: Thu Apr 02, 2009 7:46 am
by skyboy
ясно. ну, и ладно.