Erweiterung der Funktionalität, erste Anbindung an Editoren, Einbinden von JS-Bibliotheken
This commit is contained in:
23
rendering/Model/ImageModel.php
Normal file
23
rendering/Model/ImageModel.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by CS medien- & kommunikationssysteme.
|
||||
* @author Christian Steinle
|
||||
* @date 05.10.2016
|
||||
*
|
||||
* @copyright CS medien- & kommunikationssysteme (http://www.steinle-computer.de)
|
||||
*/
|
||||
|
||||
namespace Model;
|
||||
|
||||
|
||||
use Helper\Database;
|
||||
|
||||
class ImageModel extends Database
|
||||
{
|
||||
const TBL_NAME = TBL_IMAGE;
|
||||
|
||||
const PRIMARY_KEY = 'ID';
|
||||
|
||||
const ORDER_BY = '';
|
||||
|
||||
}
|
||||
20
rendering/Model/KeyVisualModel.php
Normal file
20
rendering/Model/KeyVisualModel.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by CS medien- & kommunikationssysteme.
|
||||
* @author Christian Steinle
|
||||
* @date 05.10.2016
|
||||
*
|
||||
* @copyright CS medien- & kommunikationssysteme (http://www.steinle-computer.de)
|
||||
*/
|
||||
|
||||
namespace Model;
|
||||
|
||||
|
||||
class KeyVisualModel extends ImageModel
|
||||
{
|
||||
public static function setFilter(array $IDs)
|
||||
{
|
||||
$filter = static::PRIMARY_KEY . ' = ' . implode(' OR ' . static::PRIMARY_KEY . ' = ', $IDs);
|
||||
static::$filter = $filter;
|
||||
}
|
||||
}
|
||||
@@ -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