Commit 21933306 authored by Andy Hausmann's avatar Andy Hausmann

Revised handling of JS and CSS files in order to render them through the Page Renderer.

parent d54e9756
...@@ -92,10 +92,9 @@ class Tx_Flexslider_Utility_Div ...@@ -92,10 +92,9 @@ class Tx_Flexslider_Utility_Div
* Checks a passed CSS or JS file and adds it to the Frontend. * Checks a passed CSS or JS file and adds it to the Frontend.
* *
* @param string $file File reference * @param string $file File reference
* @param string $addUnique Unique key to avoid multiple inclusions
* @param bool $moveToFooter Flag to include file into footer - doesn't work for CSS files * @param bool $moveToFooter Flag to include file into footer - doesn't work for CSS files
*/ */
public static function addCssJsFile($file, $addUnique = NULL, $moveToFooter = FALSE) public static function addCssJsFile($file, $moveToFooter = FALSE)
{ {
// Get file extension (after last occurance of a dot) // Get file extension (after last occurance of a dot)
$mediaTypeSplit = strrchr($file, '.'); $mediaTypeSplit = strrchr($file, '.');
...@@ -105,27 +104,13 @@ class Tx_Flexslider_Utility_Div ...@@ -105,27 +104,13 @@ class Tx_Flexslider_Utility_Div
if ($resolved) { if ($resolved) {
// JavaScript processing // JavaScript processing
if ($mediaTypeSplit == '.js') { if ($mediaTypeSplit == '.js') {
if ($addUnique) { ($moveToFooter)
$code = '<script src="' . $resolved . '" type="text/javascript"></script>'; ? $GLOBALS['TSFE']->getPageRenderer()->addJsFooterFile($resolved)
($moveToFooter) : $GLOBALS['TSFE']->getPageRenderer()->addJsFile($resolved);
? $GLOBALS['TSFE']->additionalFooterData[$addUnique] = $code
: $GLOBALS['TSFE']->additionalHeaderData[$addUnique] = $code;
} else {
($moveToFooter)
? $GLOBALS['TSFE']->getPageRenderer()->addJsFooterFile($resolved)
: $GLOBALS['TSFE']->getPageRenderer()->addJsFile($resolved);
}
// Stylesheet processing // Stylesheet processing
} elseif ($mediaTypeSplit == '.css') { } elseif ($mediaTypeSplit == '.css') {
if ($addUnique) { $GLOBALS['TSFE']->getPageRenderer()->addCssFile($resolved);
$GLOBALS['TSFE']->additionalHeaderData[$addUnique] =
'<link href="' . $resolved . '" rel="stylesheet" type="text/css" media="all" />';
} else {
$GLOBALS['TSFE']->getPageRenderer()->addCssFile($resolved);
}
} }
} }
} }
......
...@@ -56,12 +56,8 @@ class Tx_Flexslider_ViewHelpers_AddCssJsViewHelper extends Tx_Fluid_Core_ViewHel ...@@ -56,12 +56,8 @@ class Tx_Flexslider_ViewHelpers_AddCssJsViewHelper extends Tx_Fluid_Core_ViewHel
public function render($file = NULL, $moveToFooter = FALSE) public function render($file = NULL, $moveToFooter = FALSE)
{ {
if ($file) { if ($file) {
// Get file extension (after last occurance of a dot)
$mediaTypeSplit = strrchr($file, '.');
Tx_Flexslider_Utility_Div::addCssJsFile( Tx_Flexslider_Utility_Div::addCssJsFile(
$file, $file,
($mediaTypeSplit == '.js') ? 'flexSliderJs' : 'flexSliderCss',
$moveToFooter $moveToFooter
); );
} }
......
...@@ -50,9 +50,10 @@ class Tx_Flexslider_ViewHelpers_AddJQueryViewHelper extends Tx_Fluid_Core_ViewHe ...@@ -50,9 +50,10 @@ class Tx_Flexslider_ViewHelpers_AddJQueryViewHelper extends Tx_Fluid_Core_ViewHe
* Otherwise, it includes the script of this Ext. * Otherwise, it includes the script of this Ext.
* *
* @param string $altJQueryFile * @param string $altJQueryFile
* @param bool $moveToFooter
* @return void * @return void
*/ */
public function render($altJQueryFile = NULL) { public function render($altJQueryFile = NULL, $moveToFooter = FALSE) {
// checks if t3jquery is loaded // checks if t3jquery is loaded
if (t3lib_extMgm::isLoaded('t3jquery')) { if (t3lib_extMgm::isLoaded('t3jquery')) {
require_once(t3lib_extMgm::extPath('t3jquery').'class.tx_t3jquery.php'); require_once(t3lib_extMgm::extPath('t3jquery').'class.tx_t3jquery.php');
...@@ -65,7 +66,7 @@ class Tx_Flexslider_ViewHelpers_AddJQueryViewHelper extends Tx_Fluid_Core_ViewHe ...@@ -65,7 +66,7 @@ class Tx_Flexslider_ViewHelpers_AddJQueryViewHelper extends Tx_Fluid_Core_ViewHe
if ($altJQueryFile) { if ($altJQueryFile) {
Tx_Flexslider_Utility_Div::addCssJsFile( Tx_Flexslider_Utility_Div::addCssJsFile(
$altJQueryFile, $altJQueryFile,
'flexSliderJQuery' $moveToFooter
); );
} else { } else {
Tx_Flexslider_Utility_Div::renderFlashMessage( Tx_Flexslider_Utility_Div::renderFlashMessage(
......
{namespace fs=Tx_Flexslider_ViewHelpers} {namespace fs=Tx_Flexslider_ViewHelpers}
<fs:AddJQuery altJQueryFile="{settings.lib.jQuery}" /> <fs:AddJQuery altJQueryFile="{settings.lib.jQuery}" moveToFooter="{settings.lib.moveToFooter}" />
<fs:AddCssJs file="{settings.lib.flexslider}" moveToFooter="{settings.lib.moveToFooter}" /> <fs:AddCssJs file="{settings.lib.flexslider}" moveToFooter="{settings.lib.moveToFooter}" />
<fs:AddCssJs file="{settings.css}" /> <fs:AddCssJs file="{settings.css}" />
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment