Erweiterung der Funktionalität, erste Anbindung an Editoren, Einbinden von JS-Bibliotheken
This commit is contained in:
@@ -28,7 +28,9 @@ class NavigationModel extends Database
|
||||
|
||||
protected static $activeNavID = 0;
|
||||
|
||||
protected static $header = '';
|
||||
protected static $title = '';
|
||||
|
||||
protected static $keyVisual = array();
|
||||
|
||||
protected static $headline = '';
|
||||
|
||||
@@ -38,28 +40,53 @@ class NavigationModel extends Database
|
||||
/**
|
||||
* Setzt später benötigte Variablen für den FrontendController, so dass die Datenmodelle und die Views instanziiert werden können
|
||||
* @param array $routeParts
|
||||
* @param bool $isEditable
|
||||
*/
|
||||
public static function init(array $routeParts)
|
||||
public static function init(array $routeParts, $isEditable = false)
|
||||
{
|
||||
self::getIndex();
|
||||
$nav = self::$data;
|
||||
$navStart = 0;
|
||||
foreach ($routeParts as $navLink)
|
||||
if ($isEditable)
|
||||
{
|
||||
foreach ($nav as $navID => $navItem)
|
||||
self::initBackend($routeParts[0], false);
|
||||
}
|
||||
else
|
||||
{
|
||||
self::initFrontend($routeParts);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected static function initBackend($siteID, $depth)
|
||||
{
|
||||
foreach (self::$data as $navID => $navItem)
|
||||
{
|
||||
if ($navID == $siteID && $depth === false)
|
||||
{
|
||||
if ($navItem['navStart'] == $navStart && $navItem['navLink'] == $navLink)
|
||||
{
|
||||
$navStart = $navItem['navID'];
|
||||
self::$navigationPath[] = self::$activeNavID = $navItem['navID'];
|
||||
self::$header = $navItem['navHeader'];
|
||||
self::$headline = $navItem['navHeadline'];
|
||||
self::initContent($navItem['navContent']);
|
||||
}
|
||||
self::$activeNavID = $navItem['navID'];
|
||||
self::$title = $navItem['navTitle'];
|
||||
self::$headline = $navItem['navHeadline'];
|
||||
self::initKeyVisual($navItem['navKeyVisual']);
|
||||
self::initContent($navItem['navContent']);
|
||||
self::buildNavigationPath();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $navKeyVisual
|
||||
*/
|
||||
protected static function initKeyVisual($navKeyVisual)
|
||||
{
|
||||
if (is_null($navKeyVisual))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (is_array(json_decode($navKeyVisual, true)))
|
||||
{
|
||||
self::$keyVisual = json_decode($navKeyVisual, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $navContents
|
||||
@@ -76,6 +103,36 @@ class NavigationModel extends Database
|
||||
}
|
||||
}
|
||||
|
||||
protected static function buildNavigationPath()
|
||||
{
|
||||
$navStart = $navStartPath[] = self::$activeNavID;
|
||||
while ($navStart !== '0' && !is_null($navStart))
|
||||
{
|
||||
$navStart = $navStartPath[] = self::$data[$navStart]['navStart'];
|
||||
}
|
||||
array_pop($navStartPath);
|
||||
self::$navigationPath = array_reverse($navStartPath);
|
||||
}
|
||||
|
||||
protected static function initFrontend(array $routeParts)
|
||||
{
|
||||
$navStart = 0;
|
||||
foreach ($routeParts as $navLink)
|
||||
{
|
||||
foreach (self::$data as $navID => $navItem)
|
||||
{
|
||||
if ($navItem['navStart'] == $navStart && $navItem['navLink'] == $navLink)
|
||||
{
|
||||
$navStart = $navItem['navID'];
|
||||
self::$navigationPath[] = self::$activeNavID = $navItem['navID'];
|
||||
self::$title = $navItem['navTitle'];
|
||||
self::initKeyVisual($navItem['navKeyVisual']);
|
||||
self::$headline = $navItem['navHeadline'];
|
||||
self::initContent($navItem['navContent']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
@@ -98,9 +155,18 @@ class NavigationModel extends Database
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public static function getHeader()
|
||||
public static function getTitle()
|
||||
{
|
||||
return self::$header;
|
||||
return self::$title;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function getKeyVisual()
|
||||
{
|
||||
return self::$keyVisual;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user