mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Управление меню: экспериментальный вариант.
This commit is contained in:
parent
1afc554dd2
commit
575341067c
|
@ -148,6 +148,18 @@ class LsViewer extends Module {
|
||||||
* @var unknown_type
|
* @var unknown_type
|
||||||
*/
|
*/
|
||||||
protected $sResponseAjax=null;
|
protected $sResponseAjax=null;
|
||||||
|
/**
|
||||||
|
* Список меню для рендеринга
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $aMenu=array();
|
||||||
|
/**
|
||||||
|
* Скомпилированные меню
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $aMenuFetch=array();
|
||||||
/**
|
/**
|
||||||
* Инициализация модуля
|
* Инициализация модуля
|
||||||
*
|
*
|
||||||
|
@ -241,6 +253,11 @@ class LsViewer extends Module {
|
||||||
* Загружаем в шаблон блоки
|
* Загружаем в шаблон блоки
|
||||||
*/
|
*/
|
||||||
$this->Assign("aBlocks",$this->aBlocks);
|
$this->Assign("aBlocks",$this->aBlocks);
|
||||||
|
/**
|
||||||
|
* Загружаем содержимое menu-контейнеров
|
||||||
|
*/
|
||||||
|
$this->Assign("aMenuFetch",$this->aMenuFetch);
|
||||||
|
$this->Assign("aMenuContainers",array_keys($this->aMenu));
|
||||||
/**
|
/**
|
||||||
* Загружаем HTML заголовки
|
* Загружаем HTML заголовки
|
||||||
*/
|
*/
|
||||||
|
@ -1120,7 +1137,27 @@ class LsViewer extends Module {
|
||||||
);
|
);
|
||||||
return $aPaging;
|
return $aPaging;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Добавить меню в контейнер
|
||||||
|
*
|
||||||
|
* @param string $sContainer
|
||||||
|
* @param string $sTemplatePath
|
||||||
|
*/
|
||||||
|
public function AddMenu($sContainer, $sTemplate) {
|
||||||
|
$this->aMenu[strtolower($sContainer)]=$sTemplate;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Компилирует меню по контейнерам
|
||||||
|
*
|
||||||
|
* @return null
|
||||||
|
*/
|
||||||
|
protected function BuildMenu() {
|
||||||
|
foreach ($this->aMenu as $sContainer=>$sTemplate) {
|
||||||
|
$this->aMenuFetch[$sContainer]=$this->Fetch($sTemplate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Загружаем переменные в шаблон при завершении модуля
|
* Загружаем переменные в шаблон при завершении модуля
|
||||||
*
|
*
|
||||||
|
@ -1130,6 +1167,10 @@ class LsViewer extends Module {
|
||||||
* Добавляем блоки по предзагруженным правилам
|
* Добавляем блоки по предзагруженным правилам
|
||||||
*/
|
*/
|
||||||
$this->BuildBlocks();
|
$this->BuildBlocks();
|
||||||
|
/**
|
||||||
|
* Рендерим меню для шаблонов
|
||||||
|
*/
|
||||||
|
$this->BuildMenu();
|
||||||
/**
|
/**
|
||||||
* Добавляем JS и CSS по предписанным правилам
|
* Добавляем JS и CSS по предписанным правилам
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{if $menu}
|
{if $menu}
|
||||||
{include file=menu.$menu.tpl}
|
{if in_array($menu,$aMenuContainers)}{$aMenuFetch.$menu}{else}{include file=menu.$menu.tpl}{/if}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue