У фреймворку немає вбудованих засобів для підключення CSS файлів в проект. Передбачається, що це повинно відбуватися також, як і при роботі зі звичайним HTML. Для простих проектів це цілком підходить, тому що робота зі стилями в них найчастіше полягає в підключенні 1 - 2 CSS файлів, але при створенні великого проекту, розробник стикається з тим, що в проекті можуть бути десятки CSS файлів, підключення яких відбувається в залежності він наявності певних елементів на сторінці.
Завдання зі створення централізованої системи підключення CSS скриптів можна розділити на наступні етапи:
- запам'ятовування всіх використовуваних на сторінці css файлів
- перехоплення HTML коду сторінки перед відправкою її в браузер
- висновок списку css файлів в потрібному місці сторінки
Щоб запам'ятати список всіх файлів з різних місць програми, я використовую клас конфігурації. Додати значення в масив конфігурації з будь-якого місця програми можна так:
У функцію js можна передати 3 параметра:
- шлях до файлу скрипта включає назву файлу
- ознака того, переданий відносний шлях або абсолютний
- Додаткові параметри
Імена додаткових параметрів на даному етапі не важливі, але це повинен бути однорівневий асоціативний масив. Після додавання хелпера в автозавантаження програми, з'являється можливість у будь-якому місці програми повідомити йому про необхідність підключення CSS файлу.
У попередній статті: підключення JS файлів в CodeIgniter я вже розповів як перехопити код сторінки, тому зараз обмежуся кодом хука на рендеринг списку CSS файлів в псевдотег [CSS].
Приклад підключення CSS файлу в проект: