Адаптация шаблонов

Структура каталогов шаблона предусматривает случаи адаптации тем оформления под особенности конкретного предприятия или продукта. К примеру, для программы 'Мое веб приложение' вы создадите модуль 'my_module', дополнительные элементы оформления будут располагаться в подкаталоге /product/my_app/my_module, а дополнительные элементы оформления для предприятия 'Мое предприятие' будут располагаться в подкаталоге /company/my_enter/my_module.

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

<link href="{{ url('my_module/main/css/default.css') }}" rel="stylesheet" />

в обычном случае после компиляции шаблона превратится в HTML-код:

<link href="/view/default/my_module/main/css/default.css" rel="stylesheet" />

но, если вы создадите в файле /product/my_app/my_module/main/css/default.css стили, которые специфичны для продукта "Мое веб приложение", то HTML-код после компиляции шаблона примет вид:

<link href="/product/my_app/my_module/main/css/default.css" rel="stylesheet" />

Если вы создадите в файле /company/my_enter/my_module/main/css/default.css стили, которые специфичны для предприятия "Мое предприятие", то HTML-код после компиляции шаблона примет вид:

<link href="/company/my_enter/my_module/main/css/default.css" rel="stylesheet" />

При этом, файлы из каталога /product имет приобритет над файлами каталога /view, а файлы каталога /company имеют приоритет над файлами каталога /product.

В папках /product и /company не нужно располагать файлы шаблонов с расширением blade.php, т.к. они не будут приниматься во внимание шаблонизатором blade , он будет обрабатывать файлы только из каталога /view.

Файлы с переводами фраз так же можно располагать в папках /company/my_enter/my_module/lang/ и /product/my_app/my_module/lang/. Они, аналогично примеру с файлом стилей, будут иметь преимущество над файлами подкаталога /view/default/my_module/lang/. При этом все фразы в файлах переводов, расположенных в каталогах /company/my_enter/my_module/lang и /company/my_app/my_module/lang, повторять не обязательно. Достаточно там указать только те, фразы которые отличаются от фраз, заданных в файлах переводов из подкаталога /view/default/my_module/lang.

Настройки путей к папкам компании и продукта задаются в настройках пользователя :

/core/user/prod_code = 'my_app'
/core/user/enter_code = 'my_enter'