Предистроия: Дизайнер, верставший страничку нарезал CSS на ... в мелкий компот.....А потом захотел для некоторых пунктов меню подключать ещё и "персональные" CSS (перекрывая параметры в основных)Собственно реализация:1. все CSS сложены в один каталог2. CSS, специфичные для пунктов меню имеют имя- "номер пункта".cssКод: $pipi="$GLOBALS[mosConfig_absolute_path]/templates/$GLOBALS[cur_template]/css"; $pizi="$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/css";// подключаем CSS из каталога $handle=opendir($pipi); while ($file = readdir($handle)) { if (!is_dir($pipi.'/'.$file)) {// игнорируем цифровые имена if(preg_match('/\b[\d]+/',$file)) continue; echo "\n "; } }//узнаём номер пункта меню $Itemid = intval( mosGetParam( $_REQUEST, 'Itemid', 0 ) );//и подключаем "персональную" CSS, если есть ;-) if (file_exists($pipi.'/'.$Itemid.'.css')) { echo "\n "; }
|