TwigBase: Add 2 TWIG functions (get_absolute_url_app_root / get_absolute_url_modules_root)

This commit is contained in:
Molkobain
2020-07-16 13:55:04 +02:00
parent ddcd6d4e91
commit 1a3411e99d
2 changed files with 21 additions and 5 deletions

View File

@@ -127,6 +127,20 @@ class Extension
return $oConfig->Get($sParamName);
}));
// Function to get iTop's app root absolute URL (eg. https://aaa.bbb.ccc/xxx/yyy/)
// Usage in twig: {{ get_absolute_url_app_root() }}
/** @since 2.8.0 */
$oTwigEnv->addFunction(new Twig_SimpleFunction('get_absolute_url_app_root', function () {
return utils::GetAbsoluteUrlAppRoot();
}));
// Function to get iTop's modules root absolute URL (eg. https://aaa.bbb.ccc/xxx/yyy/env-zzz/)
// Usage in twig: {{ get_absolute_url_modules_root() }}
/** @since 2.8.0 */
$oTwigEnv->addFunction(new Twig_SimpleFunction('get_absolute_url_modules_root', function () {
return utils::GetAbsoluteUrlModulesRoot();
}));
}
}

View File

@@ -17,6 +17,8 @@ use WebPage;
class TwigHelper
{
const DEFAULT_FILE_TYPE = 'html';
public static function GetTwigEnvironment($sViewPath)
{
$oLoader = new Twig_Loader_Filesystem($sViewPath);
@@ -47,7 +49,7 @@ class TwigHelper
* @throws \Exception
* @api
*/
public static function RenderIntoPage(WebPage $oPage, $sViewPath, $sTemplateName, $aParams = array(), $sDefaultType = 'html')
public static function RenderIntoPage(WebPage $oPage, $sViewPath, $sTemplateName, $aParams = array(), $sDefaultType = self::DEFAULT_FILE_TYPE)
{
$oTwig = self::GetTwigEnvironment($sViewPath);
$oPage->add(self::RenderTemplate($oTwig, $aParams, $sTemplateName, $sDefaultType));
@@ -57,13 +59,13 @@ class TwigHelper
/**
* @param \Twig\Environment $oTwig
* @param $aParams
* @param $sName
* @param $sTemplateFileExtension
* @param array $aParams
* @param string $sName
* @param string $sTemplateFileExtension
*
* @return string
*/
private static function RenderTemplate(Environment $oTwig, $aParams, $sName, $sTemplateFileExtension)
public static function RenderTemplate(Environment $oTwig, $aParams, $sName, $sTemplateFileExtension = self::DEFAULT_FILE_TYPE)
{
try
{