Добрый день, пишу расширение под Yii2, очень хочется сделать его универсальным, под все универсальные версии шаблонов. Подскажите как можно точно проверить какая версия шаблона развернута у пользователя в приложении basic или advansed?
И если у меня advansed, можно как-то через Yii::$app получить доступ к настройкам каждого приложения: frontand, backand, console, common?
А что вы будете делать, если у пользователя вашего расширения не используется стандартные шаблоны? Если я не ошибаюсь, Yii позволяет распределить папки как душе угодно. Например тот же Easyii использует свой шаблон, вынося содержимое папки web в корень.
По сути дела необходимо получить доступы к хранению переводов, в настройках каждого приложения можно указать источник перевода. Если воспользоваться Yii::$app->i18n->translations, то я получу информацию о переводе только для текущего приложения(frontend или backend или ...) но очень хотелось бы получить переводы для всего проекта. Если можно получить пути к переводам без выяснения типа шаблона, то было бы очень хорошо. Пока интересует только i18n\PhpMessageSourcе.
Да какая разница какая версия шаблона? шаблон это лишь болванка проекта, некоторый способ его организации и не более того. Шаблон может быть не только basic или advansed, но и какой-то свой кастомный. Если Ваше расширение зависит от типа шаблона - это уже не правильно и не универсально. Поэтому лучше подумайте как сделать его без привязки к конкретному шаблону, или создайте соответствующий вопрос на тостере
По сути дела необходимо получить доступы к хранению переводов, в настройках каждого приложения можно указать источник перевода. Если воспользоваться Yii::$app->i18n->translations, то я получу информацию о переводе только для текущего приложения(frontend или backend или ...) но очень хотелось бы получить переводы для всего проекта. Если можно получить пути к переводам без выяснения типа шаблона, то было бы очень хорошо. Пока интересует только i18n\PhpMessageSourcе.
По сути дела необходимо получить доступы к хранению переводов, в настройках каждого приложения можно указать источник перевода. Если воспользоваться Yii::$app->i18n->translations, то я получу информацию о переводе только для текущего приложения(frontend или backend или ...) но очень хотелось бы получить переводы для всего проекта. Если можно получить пути к переводам без выяснения типа шаблона, то было бы очень хорошо. Пока интересует только i18n\PhpMessageSourcе.
Oleg-Ukraine: Yii::$app->i18n->translations это конфиг для того приложения из которого он запущен, что еще надо? Запустят Ваше расширение из другого app получите данные другого. Это разные app, в этом смысл, они не знают о существовании друг друга, так с чего Ваше расширение должно знать? Да и зачем?
Максим Тимофеев: В том то и дело, что замысел стоит в том, чтобы админ сайта нажав на кнопку в своей админке мог выкинуть все свои переводы на мой ресурс, я эти переводы обработал и отдал ему при помощи своего расширения
Oleg-Ukraine: Стоп. Это уже api. Есть приложение в админке, у него есть конфиг, где админ сайта просто в настройках Вашего приложения указывает откуда брать переводы. Далее формирует некую структуру данных и передает Вам по api, а Вы возвращаете что-то. Все.
А что делает Ваш сервис? Переводит? Так для этого есть куча готовых решений. Тот же api переводчика яндекс.
Oleg-Ukraine: Ну так в конфиге. Делаете компонент или в Вашем случае это наверное модуль будет, подключаете в конфиге, описываете пути к переводам в конфиге к модулю.
Oleg-Ukraine: В смысле придется? Так и надо. Иначе Вы поломаете все. Свяжете абстрактные приложения, сделаете их зависимыми. Ваша разработка должна работать в 1 app и не знать о наличии других.