Часто бывает так, что на сайтах есть шаблон для главной страницы и отдельно для всех внутренних.
Я реализовал возможность задавания шаблона для главной страницы отдельно.
Т.е. теперь для главной страницы используется шаблон frontpage, а для всех внутренних — _default_
Это очень удобно я считаю.
В файле admin/applets/config.php ищем строчку
сразу после нее вставляем:в этом же файле после строки $newCFG['template'] = $inCore->request('template', 'str');
сразу вставляем: $newCFG['front_template'] = $inCore->request('front_template', 'str');
В файле cms.php функцию переписываем след. образом:
Я реализовал возможность задавания шаблона для главной страницы отдельно.
Т.е. теперь для главной страницы используется шаблон frontpage, а для всех внутренних — _default_
Это очень удобно я считаю.
В файле admin/applets/config.php ищем строчку
<tr> <td> <strong>Компонент на главной странице:</strong> </td> <td width="350" valign="top"> <select name="homecom" style="width:358px"> <option value="" <?php if(!$_CFG['homecom']){ ?>selected="selected"<?php } ?>>-- Без компонента, только модули --</option> <?php echo $inCore->getListItems('cms_components', $_CFG['homecom'], 'title', 'ASC', 'internal=0', 'link'); ?> </select> </td> </tr>
сразу после нее вставляем:
<tr> <td> <strong>Шаблон главной страницы:</strong> <br /> <span class="hinttext">Можно выбрать шаблон для отображения главной страницы</span> </td> <td valign="top"> <select name="front_template" id="template" style="width:100%"> <option value="0" <?php if (@$_CFG['front_template']==0 || !$_CFG['front_template']) { echo 'selected'; } ?>>По-умолчанию</option> <?php $inCore->templatesList($_CFG['front_template']); } else { $inCore->templatesList(-1); } ?> </select> </tr>
сразу вставляем: $newCFG['front_template'] = $inCore->request('front_template', 'str');
В файле cms.php функцию переписываем след. образом:
private function __construct($install_mode=false) { global $_CFG; if ($install_mode){ return; } //подключим базу и конфиг $this->loadClass('db'); $this->loadClass('config'); $inConf = cmsConfig::getInstance(); //загрузим структуру меню в память $this->loadMenuStruct(); //получим URI $this->uri = $this->detectURI(); //определим компонент $this->component = $this->detectComponent(); //проверяем был ли переопределен шаблон через сессию //например, из модуля "выбор шаблона" //проверяем шаблон для главной страницы if ($this->menuId() == 1 && $_CFG['front_template']) { $inConf->template = $_CFG['front_template']; } }
Реклама #
reload 13 лет назад #
Alexneva 13 лет назад #
vicoder 13 лет назад #
RooKee 13 лет назад #
venom_ 13 лет назад #
venom_ 13 лет назад #
Но данная тема применима лишь к одному и тому же шаблону. Например если главная страница должна иметь другую структуру, чем внутряки.
Я применил это тут
13 лет назад #
Получилось всё с первого раза :)
Спасибо огромное!!!
Sam 13 лет назад #
vicoder 13 лет назад #
Роман 13 лет назад #
xeqtr 12 лет назад #
xeqtr 12 лет назад #
nikitka 12 лет назад #