<?php
class YourModule_Core_Model_Design_Package extends Mage_Core_Model_Design_Package {
/**
* Merge specified css files and return URL to the merged file on success
*
* @param $files
* @return string
*/
public function getMergedCssUrl($files)
{
$targetFilename = md5(implode(',', $files)) . '_' . $this->getRevisionNumber() . '.css';
$targetDir = $this->_initMergerDir('css');
if (!$targetDir) {
return '';
}
if (Mage::helper('core')->mergeFiles($files, $targetDir . DS . $targetFilename, false, array($this, 'beforeMergeCss'), 'css')) {
return Mage::getBaseUrl('media') . 'css/' . $targetFilename;
}
return '';
}
/**
* Merge specified javascript files and return URL to the merged file on success
*
* @param $files
* @return string
*/
public function getMergedJsUrl($files)
{
$targetFilename = md5(implode(',', $files)) . '_' . $this->getRevisionNumber() . '.js';
$targetDir = $this->_initMergerDir('js');
if (!$targetDir) {
return '';
}
if (Mage::helper('core')->mergeFiles($files, $targetDir . DS . $targetFilename, false, null, 'js')) {
return Mage::getBaseUrl('media') . 'js/' . $targetFilename;
}
return '';
}
private function getRevisionNumber() {
return trim(file_get_contents(Mage::getBaseDir() . '/revision.txt'));
}
}