Модель и вид решения разделения - PullRequest
0 голосов
/ 12 апреля 2019

Я хочу попросить решение, не зависящее от языка или структуры.

Проблема:

У меня есть контроллер 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.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...