Если вы не хотите добавлять условную таблицу стилей на каждую страницу, вам нужно использовать функцию предварительной обработки.
Функции предварительной обработки - это хуки, которые позволяют вам добавлять / вычитать контент, который будет отображаться на странице. В вашем случае вы хотите использовать соответствующую функцию *_preprocess_page
, чтобы подключиться к точке, в которой отображается вся страница (и которая, следовательно, дает вам доступ к page.tpl.php).
В этой функции предварительной обработки вы должны добавить новую переменную, подобную этой:
<theme_name>_preprocess_page(&$vars) {
if (condition is met) {
$vars['my_custom_stylesheet'] = "<markup for adding a conditional stylehseet>";
}
}
Затем в вашем page.tpl.php добавьте эту новую переменную my_custom_stylesheet
, где у вас есть объявления таблицы стилей CSS в <head>
вашего page.tpl.php, что-то вроде этого:
<?php print $my_custom_stylesheet; ?>
Вот и все. Вы можете использовать функции препроцессора либо в своей теме, либо в модуле, так что используйте тот, который наиболее разумен и проще всего написать часть кода if (condition is met)
, приведенную выше.