forked from mirrors/easyappointments
Added new layout helper methods in the component_helper.php file
This commit is contained in:
parent
abf9bdd049
commit
4a29034418
1 changed files with 75 additions and 0 deletions
|
@ -43,3 +43,78 @@ if ( ! function_exists('component'))
|
|||
return $CI->load->view('components/' . $component, $vars, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists('extend'))
|
||||
{
|
||||
/**
|
||||
* Use this function at the top of view files to mark the layout you are extending from.
|
||||
*
|
||||
* @param $layout
|
||||
*/
|
||||
function extend($layout)
|
||||
{
|
||||
config([
|
||||
'layout' => [
|
||||
'filename' => $layout,
|
||||
'sections' => [],
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists('section'))
|
||||
{
|
||||
/**
|
||||
* Use this function in view files to mark the beginning and/or end of a layout section.
|
||||
*
|
||||
* Sections will only be used if the view file extends a layout and will be ignored otherwise.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* <?php section('content') ?>
|
||||
*
|
||||
* <!-- Section Starts -->
|
||||
*
|
||||
* <p>This is the content of the section.</p>
|
||||
*
|
||||
* <!-- Section Ends -->
|
||||
*
|
||||
* <?php section('content') ?>
|
||||
*
|
||||
* @param string $name
|
||||
*/
|
||||
function section(string $name)
|
||||
{
|
||||
$layout = config('layout');
|
||||
|
||||
if (array_key_exists($name, $layout['sections']))
|
||||
{
|
||||
$layout['sections'][$name] = ob_get_clean();
|
||||
|
||||
config(['layout' => $layout]);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$layout['sections'][$name] = '';
|
||||
|
||||
config(['layout' => $layout]);
|
||||
|
||||
ob_start();
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists('slot'))
|
||||
{
|
||||
/**
|
||||
* Use this function in view files to mark a slot that sections can populate from within child templates.
|
||||
*
|
||||
* @param string $name
|
||||
*/
|
||||
function slot(string $name)
|
||||
{
|
||||
$layout = config('layout');
|
||||
|
||||
echo $layout['sections'][$name];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue