Я хочу попросить решение, не зависящее от языка или структуры.
Проблема:
У меня есть контроллер MVC, который получает данные, т.е.
users = ...//get users data
Данные содержат имя пользователя, адрес электронной почты и активный флаг.
У меня есть шаблон "table.tpl"
Но этот шаблон является общим - я буду использовать его для всех видов данных.
Для пользователей, платежей и т. Д.
Шаблон получает, например, переменные "строки", "страницы" и генерирует html обычным способом.
Суть в том, что я хочу повторно использовать шаблон для разных страниц и данных.
Проблема в том, что для того, чтобы быть модульным, я не могу устанавливать классы внутри него. Например, если пользователь активен, добавьте класс 'acitve' в строку (tr).
Решением было бы добавить класс в контроллер, когда я получу переменную users и установлю класс в начале массива данных пользователя. Вот так:
[
['username' => 'user1', 'class' => 'active', 'email' => 'email@test.com'],
...// next user...
]
Но этот метод связывает контроллер и представление - если я хочу изменить тему css, мне нужно изменить контроллер для изменения класса (например, если я использую bootstrap и переключаюсь на Foundation css framewor).
Можете ли вы предложить идею, как использовать общий шаблон, но не привязывать контроллер к конкретной среде CSS.
Спасибо