primo commit
This commit is contained in:
46
libraries/fof40/Layout/LayoutHelper.php
Normal file
46
libraries/fof40/Layout/LayoutHelper.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* @package FOF
|
||||
* @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
|
||||
* @license GNU General Public License version 3, or later
|
||||
*/
|
||||
|
||||
namespace FOF40\Layout;
|
||||
|
||||
defined('_JEXEC') || die;
|
||||
|
||||
use FOF40\Container\Container;
|
||||
|
||||
class LayoutHelper
|
||||
{
|
||||
/**
|
||||
* A default base path that will be used if none is provided when calling the render method.
|
||||
* Note that FileLayout itself will default to JPATH_ROOT . '/layouts' if no basePath is supplied at all
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public static $defaultBasePath = '';
|
||||
|
||||
/**
|
||||
* Method to render the layout.
|
||||
*
|
||||
* @param Container $container The container of your component
|
||||
* @param string $layoutFile Dot separated path to the layout file, relative to base path
|
||||
* @param array $displayData Array with values to be used inside the layout file to build displayed output
|
||||
* @param string $basePath Base path to use when loading layout files
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function render(Container $container, string $layoutFile, array $displayData = [], string $basePath = ''): string
|
||||
{
|
||||
$basePath = empty($basePath) ? self::$defaultBasePath : $basePath;
|
||||
|
||||
// Make sure we send null to LayoutFile if no path set
|
||||
$basePath = empty($basePath) ? null : $basePath;
|
||||
$layout = new LayoutFile($layoutFile, $basePath);
|
||||
$layout->container = $container;
|
||||
|
||||
return $layout->render($displayData);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user