Установка модуля под "псевдонимом"
Установка модуля под "псевдонимом"
возможно ли штатными средствами установить модуль не под заложенным в код именем, а под некоторым "псевдонимом"?
бывает, что один и тот же модуль используется в разных ролях(к примеру, модуль "Products manager" выступает для реализации каталога предприятий, и для реализации каталога предлагаемых каждым предприятием товаров), каждая роль предполагает разный набор полей/параметров/шаблонов и из одной "кучи" бывает довольно сложно "вытаскивать" информацию в необходимом виде.
бывает, что один и тот же модуль используется в разных ролях(к примеру, модуль "Products manager" выступает для реализации каталога предприятий, и для реализации каталога предлагаемых каждым предприятием товаров), каждая роль предполагает разный набор полей/параметров/шаблонов и из одной "кучи" бывает довольно сложно "вытаскивать" информацию в необходимом виде.
Re: Установка модуля под "псевдонимом"
Только если ты его скопируешь в другую папку и переименуешь класс, исправишь код. Делать недолго...
unsigned double ZYV;
Re: Установка модуля под "псевдонимом"
угу.
меня интересовало, может, есть такое уже встроенное - на уровне менеджера расширений.
меня интересовало, может, есть такое уже встроенное - на уровне менеджера расширений.
Re: Установка модуля под "псевдонимом"
К сожалению, нет. Правда сам не встречался с такой необходимостью.
unsigned double ZYV;
Re: Установка модуля под "псевдонимом"
Я тут думал: что же надо изменить?
Положим, у нас в одной константе хранится "используемое имя" модуля. В какие жестко заданные элементы кода придется добавить эту константу?
Имя класса, имя файла, обращение к таблицам БД, список permissions, тег для быстрого доступа(если кроме cms_module подразумевается использование и сокращенного варианта), результаты методов getName и getFriendlyName. Что-то ещё?
Routes, я так понимаю, тоже надо будет менять, да?
Я вот подумал: если проанализировать необходимые изменения и аргументировать разработчикам ядра CMS, то эту константу, которая использовалась бы в коде модуля наряду с тем же "cms_db_prefix()", можно было бы определять при установке. Т.е. слегка доработанная(указать имя файла с основным кодом класса модуля и записать в определенный метод класса константу с "псевдонимом"-префиксом) версия менеджера модулей уже дала бы возможность устанавливать под разными именами прозрачно для конечного пользователя: да и модули будут требовать(как мне кажется) минимальной доработки.
Положим, у нас в одной константе хранится "используемое имя" модуля. В какие жестко заданные элементы кода придется добавить эту константу?
Имя класса, имя файла, обращение к таблицам БД, список permissions, тег для быстрого доступа(если кроме cms_module подразумевается использование и сокращенного варианта), результаты методов getName и getFriendlyName. Что-то ещё?
Routes, я так понимаю, тоже надо будет менять, да?
Я вот подумал: если проанализировать необходимые изменения и аргументировать разработчикам ядра CMS, то эту константу, которая использовалась бы в коде модуля наряду с тем же "cms_db_prefix()", можно было бы определять при установке. Т.е. слегка доработанная(указать имя файла с основным кодом класса модуля и записать в определенный метод класса константу с "псевдонимом"-префиксом) версия менеджера модулей уже дала бы возможность устанавливать под разными именами прозрачно для конечного пользователя: да и модули будут требовать(как мне кажется) минимальной доработки.
Re: Установка модуля под "псевдонимом"
Нормальная идея. С тегом вопрос можно решить передавая какую нибудь переменную типа instance="module-1". У тебя есть время/желание? Заходи в IRC и убеждай
Ну или запостить в английскую часть можно.

unsigned double ZYV;
Re: Установка модуля под "псевдонимом"
Насчет тега: если модуль в меню называется как "textes", то работа с тегом {Products instance="module-1"} в шаблоне будет запутывать разработчиков. так что пускай уже "короткие" теги прписываются вручную, как плагины Smarty. Теми, кому нужно и кто разбирается. А так: если при установке модулю Products будет указан "псевдоним" , то не только таблицы в БД и пункты меню будут связаны с этим именем, но и вызов будет выглядеть так: {cms_module module="portfolio"}ZYV wrote: Нормальная идея. С тегом вопрос можно решить передавая какую нибудь переменную типа instance="module-1". У тебя есть время/желание? Заходи в IRC и убеждайНу или запостить в английскую часть можно.
Насчет убеждать - я не против, но с разговорным английским у меня сильно слабо.
С другой стороны, предлагаю дополнитль только класс CMSModule для начала. А потом уже дело будет за разработчиками модулей: точно так же, как и cms_db_prefix, в принципе, можно не использовать(что, конечно, вызовет определенные проблемы), так же и старые модули должны будут работать(без использования константы/метода get_alias()), так и новые, строящие запросы и выводящие данные в зависимости от псевдонима. Так что эта модернизация действительно - больше по части согласования и организации, чем по технической стороне.
С другой стороны, хотелось бы иметь механизм автоматизирования раздачи алиасов(для начала - при установке), но это уже потребует вмешательства в код менеджера модулей, что лично мне в данный момент не по силам - я даже толком не смотрел, как этот менеджер устроен.
Может, ты смог бы озвучить эту идею в англоговорящем форуме?
Re: Установка модуля под "псевдонимом"
там должно быть по-другому чуток:если модуль в меню называется как "textes", то работа с тегом {Products instance="module-1"} в шаблоне будет запутывать разработчиков
если модуль в меню называется как "textes", то работа с тегом {Products instance="textes"} в шаблоне будет запутывать разработчиков[
Re: Установка модуля под "псевдонимом"
У меня, к сожалению, в ближайшие месяцы не будет на это времени - работа, поддерживаю форум насколько хватает сил на добровольных началах - как правило короткими и быстрыми ответами...
unsigned double ZYV;
Re: Установка модуля под "псевдонимом"
угу.
постараюсь сам.
спасибо за направление.
постараюсь сам.
спасибо за направление.
Re: Установка модуля под "псевдонимом"
то ли я вконец непонятно написал, то ли идея недостояна. почти полсотни просмотров темы, ни одного ответа.
Re: Установка модуля под "псевдонимом"
239 просмотров, ни одного ответа.
люди! ну, скажите мне, в чем я не прав? Раз игнор, значит - идея недостойна даже обсуждения. Верно? Но почему тогда мне удобнее менять одну константу и переименовывать файл, чем каждый раз шестрить код на предмет имен таблиц в БД и папок, для замены одних значений на другие?
Обидно не потому, что идея моя, а потому что не понимаю - что тут глупого?
люди! ну, скажите мне, в чем я не прав? Раз игнор, значит - идея недостойна даже обсуждения. Верно? Но почему тогда мне удобнее менять одну константу и переименовывать файл, чем каждый раз шестрить код на предмет имен таблиц в БД и папок, для замены одних значений на другие?
Обидно не потому, что идея моя, а потому что не понимаю - что тут глупого?
Re: Установка модуля под "псевдонимом"
Игнор потому, что надо и IRC идти и там баламутить. Core team реализует фичи, за которые платят, чем и живет. У всего остального приоритет минимальный - подгонишь патч и убедишь закоммитить - фича будет. Не сделаешь - не будет. А у тебя там много буков, по своей воле никто это читать не будет 

unsigned double ZYV;
Re: Установка модуля под "псевдонимом"
ясно. ну, и ладно.