Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ticket/13717] Set the assets after rendering the whole template
The goal being to be able to call INCLUDECSS/JS from anywhere in any tempalte or event PHPBB3-13717
- Loading branch information
Tristan Darricau
committed
Jan 24, 2016
1 parent
9d23bf1
commit d53745d
Showing
5 changed files
with
160 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
<?php | ||
/** | ||
* | ||
* This file is part of the phpBB Forum Software package. | ||
* | ||
* @copyright (c) phpBB Limited <https://www.phpbb.com> | ||
* @license GNU General Public License, version 2 (GPL-2.0) | ||
* | ||
* For full copyright and license information, please see | ||
* the docs/CREDITS.txt file. | ||
* | ||
*/ | ||
|
||
namespace phpbb\template; | ||
|
||
class assets_bag | ||
{ | ||
/** @var asset[] */ | ||
protected $stylesheets = []; | ||
|
||
/** @var asset[] */ | ||
protected $scripts = []; | ||
|
||
/** | ||
* Add a css asset to the bag | ||
* | ||
* @param asset $asset | ||
*/ | ||
public function add_stylesheet(asset $asset) | ||
{ | ||
$this->stylesheets[] = $asset; | ||
} | ||
|
||
/** | ||
* Add a js script asset to the bag | ||
* | ||
* @param asset $asset | ||
*/ | ||
public function add_script(asset $asset) | ||
{ | ||
$this->scripts[] = $asset; | ||
} | ||
|
||
/** | ||
* Returns all css assets | ||
* | ||
* @return asset[] | ||
*/ | ||
public function get_stylesheets() | ||
{ | ||
return $this->stylesheets; | ||
} | ||
|
||
/** | ||
* Returns all js assets | ||
* | ||
* @return asset[] | ||
*/ | ||
public function get_scripts() | ||
{ | ||
return $this->scripts; | ||
} | ||
|
||
/** | ||
* Returns the HTML code to includes all css assets | ||
* | ||
* @return string | ||
*/ | ||
public function get_stylesheets_content() | ||
{ | ||
$output = ''; | ||
foreach ($this->stylesheets as $stylesheet) | ||
{ | ||
$output .= "<link href=\"{$stylesheet->get_url()}\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />\n"; | ||
} | ||
|
||
return $output; | ||
} | ||
|
||
/** | ||
* Returns the HTML code to includes all js assets | ||
* | ||
* @return string | ||
*/ | ||
public function get_scripts_content() | ||
{ | ||
$output = ''; | ||
foreach ($this->scripts as $script) | ||
{ | ||
$output .= "<script type=\"text/javascript\" src=\"{$script->get_url()}\"></script>\n"; | ||
} | ||
|
||
return $output; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters