AIOM Modul (ProcessWire)

Aus Wikizone
Wechseln zu: Navigation, Suche

All In One Minify (AIOM) Modul

Links:

Modul zum Minimieren von CSS un JS Dateien. Kann auch mit Less Files umgehen.

Download ID:

AllInOneMinify

Einzeldatei minimieren

Tipp: Statt AllInOneMinify kann AIOM verwendet werden.

<!-- CSS Stylesheet -->
<link rel="stylesheet" type="text/css" href="<?php echo AIOM::CSS('css/stylesheet.css'); ?>">
<!-- LESS file -->
<link rel="stylesheet" type="text/css" href="<?php echo AIOM::CSS('css/stylesheet.less'); ?>">

Mehrere CSS Dateien mergen und minimieren

<link rel="stylesheet" href="<?php echo AIOM::CSS(array('css/file-1.css', 'css/file-2.less', 'css/file-3.css', 'css/file-4.less')); ?>">

JavaScript minimieren

<script src="<?php echo AllInOneMinify::JS('js/javascript.js'); ?>"></script>

Mehrere JS Dateien

<script src="<?php echo AIOM::JS(array('js/file-1.js', 'js/file-2.js', 'js/file-3.js', 'js/file-4.js')); ?>"></script>

Conditions

Mit der loadOn Option kann man Styles nur dann laden, wenn betimmte Bedingungen erfüllt sind (z.B. bei Template xy) <syntaxhighlight lang="php"> <?php $stylesheets = array(

 'css/reset.css',
 'css/main.less',
 array(
   'loadOn' => 'id|template=1002|1004|sitemap', 
   'files' => array(
     'css/special.css', 'css/special-theme.less'
   )
 )

); ?> <link rel="stylesheet" type="text/css" href="<?php echo AllInOneMinify::CSS($stylesheets); ?>" /> </syntaxhiglight>

Trouble Shooting

Class not found

Wenn das Site Profile einen eigenen Namespace hat wird die Modulklasse nicht gefunden. Fix ist entweder im betreffenden Template (z.B. head.inc) den namespacde rauszunehmen, oder

<?php echo \AIOM::CSS('css/stylesheet.css'); ?>

einen Backslash vor AIOM einzufügen, damit von der Root gestartet wird.