Нет, нет.Сохраняйте логику в контроллере как можно дальше.
сначала определите фон по умолчанию, который будет использоваться, когда для контроллера нет фона.во-вторых, установите фон для каждого контроллера, который вы хотите специальный фон.
очень простой пример:
app_controller:
$this->set('background', '/img/default_background.jpg');
контроллер:
$this->set('background', '/img/controller_x_background.jpg');
макет:
<style type="text/css">
body{
<?= 'background: url("'.$background.'")'; ?>
}
</style>