1. Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с Правилами раздела
    Скрыть объявление

[Помогите] Как Вам будет удобней добавлять стили/скрипты

Тема в разделе "Вёрстка (HTML, CSS)", создана пользователем halfhope, 14 авг 2013.

  1. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    Здравствуйте, пишу минимизатор JS/CSS на основе jsmin и cssminifier для одного проекта, хочу сделать его независимым от CMS. Минимизатор корректно обрабатывает и сжимает в один файл css/js с разными media, rel, с разным количеством на разных страницах. Работает быстро, нет необходимости в ручном запуске. Чуть позже напишу спецификации.
    В самом конце возникла проблема.
    для тестирования использовал такую конструкцию
    PHP:
    $min = new MinCJ;
    $min->addstyle('href','media',rel); #\
    $min->addstyle('href','media',rel); # | на выходе один файл, если media или rel разные, тогда несколько. 
    $min->addstyle('href','media',rel); #/
     
    foreach ($min->styles as $key => $value){
      echo 
    "<link href="'.$value['href'].'$" rel="'.$value['rel'].'" media="'.$value['media'].'">";
    }
    //и со скриптами так же
    Вот тут то и проблема, нужно придумать(вспомнить) удобный способ добавления стилей и скриптов, с учетом IfDef[IExxx]. А так же вывод данных. Подумайте, пожалуйста, мне важно Ваше мнение)
     
  2. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    В контроллерах я пишу так
    PHP:
    if (file_exists('catalog/view/theme/' $this->config->get('config_template') . '/stylesheet/stylesheet.css')) {
    $this->document->addStyle('catalog/view/theme/' $this->config->get('config_template') . '/stylesheet/stylesheet.css');
    } else {
    $this->document->addStyle('catalog/view/theme/default/stylesheet/stylesheet.css');
    }
    А вообще самый простой вариант, это добавить в хедер файла шаблона:
    <link rel="stylesheet">
    <script type="javascript">

    Примерно так.