Существует множество направлений, по которым вы можете идти.
1) "CSS ZEN"
Здесь разметка остается неизменной, но вы полностью меняете дизайн, просто используя CSS и изображения. Очень хорошо продемонстрировано на http://www.csszengarden.com/
2) MVC Stylee
Здесь вы создаете модель, которая представляет данные страницы, а затем передаете ее в представление, которое содержит некоторые встроенные операторы эха. Идея состоит в том, что вы можете отправить одну и ту же модель в совершенно другое представление, чтобы она выглядела совершенно иначе, HTML и все. Cake PHP - хорошее начало для этого: http://cakephp.org/
Пример:
<div class="content">
<? echo $Page->Content ?>
</div>
3) Микроразметка
С помощью этого метода вы добавляете свои собственные «специальные теги» на страницу HTML. Затем вы читаете на своей простой HTML-странице и заменяете специальные теги информацией, которую хотите отобразить. Это хорошо, если вы хотите, чтобы ваши шаблоны были узнаваемы для тех парней, которые не знают PHP и могут нарушить код PHP в приложении MVC.
Пример:
<div class="content">
<#Content#>
</div>
Из всего этого MVC является очень структурированным способом достижения того, чего вы хотите - однако я перечислил другие варианты, поскольку они учитывают конкретные сценарии, которые могут иметь отношение к вам.
Я реализовал концепцию во всех трех из них, в ситуациях, подходящих для каждого.
Относительно правки в вопросе
Я полагаю, у вас будет "что-то", которое представляет вашего пользователя - так просто, как:
(В случае просто необходимости переопределить несколько настроек ...)
<link href="style.css" type="text/css" rel="stylesheet">
<?php if ($User->Type === USER_ADMIN) { ?>
<link href="admin.css" type="text/css" rel="stylesheet">
<?php } ?>
Вы можете настроить этот пример следующими способами:
- Используйте оператор switch, если будет много типов пользователей
- Если замена полная, а не просто несколько переопределений, вы можете полностью заменить таблицу стилей.