2009-09-03 2 views
7

Drupal 6 имеет замечательный агрегатор CSS и JavaScript. К сожалению, он препятствует развитию, поскольку он восстанавливается только при очистке кэша Drupal.отключение агрегации Drupal CSS/JS для администраторов

Я хотел бы включить его для не-админов (для сохранения HTTP-запросов), но отдельные файлы CSS и JS будут обслуживаться непосредственно администраторами для разработки. Кто-нибудь сделал это? Является ли это возможным?

ответ

12

Это интересная идея. Поскольку параметры агрегации сохраняются в переменных Drupal, и те, которые считываются в глобальный массив $ конф во время самонастройки, я попытался следующие в модулях hook_init() реализации:

global $user; 
if (1 == $user->uid) { 
    global $conf; 
    $conf['preprocess_css'] = FALSE; 
    $conf['preprocess_js'] = FALSE; 
} 

До сих пор это просто работает :)

Теперь я подозрительный - в соответствии с моим стандартным опытом на протяжении многих лет, если что-то простое с первого взгляда, оно рано или поздно разрушается;)

Но сейчас самое страшное, что я могу себе представить, это то, что он просто терпит неудачу в ситуациях, когда по какой-то причине или о the $ conf array заселяется во время цикла страницы, и в этом случае администратор снова получит кешированные версии.

+2

Замечательно, спасибо. Кажется, это работает, «хотя я слышу тебя по подозрению! :-) – ceejayoz

+1

Кажется, больше не работает на Drupal 6. – montrealist

+0

Работает отлично под Drupal 7. –