Замена главной и кодировка в каталоге

Я тут сейчас ковыряю ЛС на локалхосте, и запоролся в двух местах. Поиск пользовал, но, что-то ничего не нашел.
1) Как сменить главную страницу, чтобы были не блоги, а статическая?
2) Модуль каталог, категории отображаются кракозябрами, понимаю, что беда в кодировке, но какие файлы там править.

Заранее спасибо.

17 комментариев

avatar
1. ActionIndex / EventIndex() замените весь код на этот:

		$sUrlFull = "ТУТ АДРЕС ВАШЕЙ СТАТИЧЕСКОЙ";
		/**
		 * Ищем страничку в БД
		 */
		if (!($oPage=$this->Page_GetPageByUrlFull($sUrlFull,1))) {
			return $this->EventNotFound();
		}
		/**
		 * Заполняем HTML теги и SEO
		 */
		$this->Viewer_AddHtmlTitle($oPage->getTitle());
		if ($oPage->getSeoKyewords()) {
			$this->Viewer_SetHtmlKeywords($oPage->getSeoKyewords());
		}
		if ($oPage->getSeoDescription()) {
			$this->Viewer_SetHtmlDescription($oPage->getSeoDescription());
		}
		
		$this->Viewer_Assign('oPage',$oPage);
		/**
		 * Устанавливаем шаблон для вывода
		 */		
		$this->SetTemplateAction('page');


В папку templates/skin/new/actions/ActionIndex/
скопируйте файл templates/skin/new/actions/ActionPage/page.tpl
avatar
не проще сменить дефолтный экшен в роутинге?
avatar
проще :)

Но, тогда нужно в page дописать определение дефолтного sCurrentEvent, если я не ошибаюсь.
avatar
ну да
avatar
Спасибо, но есть беда, вылезает ошибка смарти: Smarty error: [in actions/ActionIndex/index.tpl line 6]: syntax error: unrecognized tag 'return'
никак не могу понять, где не так дела с синтаксисом.
avatar
Если вы сделали так, как я описал, то actions/ActionIndex/index.tpl вообще не должен быть задействован.

Если делали так, как посоветовал Максим — то тем более не должен быть задействован.
avatar
Судя по всему я накосячил в самом первом пункте. Если мои предположения верны, то вопрос: где взять
ActionIndex / EventIndex()
?!
avatar
Файл classes/actions/ActionIndex.class.php

Функция EventIndex()
avatar
Черт, огромное спасибо! Спать надо больше явно.
Опять, кстати, беда с синтаксисом
syntax error, unexpected ';', expecting T_FUNCTION in \classes\actions\ActionIndex.class.php on line 117


только вот беда, что 117 строка это там где стоит короткий закрывающий.

Вот как оно у меня, не весь файл, а только целевой фрагмент:
protected function EventIndex() {
	$sUrlFull = "/page/mainmain"; 
                /**
                 * Ищем страничку в БД
                 */
                if (!($oPage=$this->Page_GetPageByUrlFull($sUrlFull,1))) {
                        return $this->EventNotFound();
                }
                /**
                 * Заполняем HTML теги и SEO
                 */
                $this->Viewer_AddHtmlTitle($oPage->getTitle());
                if ($oPage->getSeoKyewords()) {
                        $this->Viewer_SetHtmlKeywords($oPage->getSeoKyewords());
                }
                if ($oPage->getSeoDescription()) {
                        $this->Viewer_SetHtmlDescription($oPage->getSeoDescription());
                }
                
                $this->Viewer_Assign('oPage',$oPage);
                /**
                 * Устанавливаем шаблон для вывода
                 */             
                $this->SetTemplateAction('page');
}
	
?> 
avatar
А граница класса у вас закрыта?

Т.е. у вас идет закрывающий } — это конец функции, а дальше сразу закрывающий php. Но ведь нужно еще класс ActionIndex extends Action { закрыть.
avatar
Мне кажется, что я должен Вам пиво. Действительно не был закрыт класс.
Но я теперь снова столкнулся с очередной ошибкой. Теперь 404-ая (что меня очень сильно удивило), код ошибки, выскакивающей перед 404-ой:
Cannot modify header information - headers already sent by (output started at \classes\actions\ActionIndex.class.php:117) in \classes\actions\ActionError.class.php on line 48

И еще сразу вопрос, может ли 404-ая выскакивать из-за того, что статическая страница была сделана из админки?
avatar
Нет, не играет роли, как она была сделана
avatar
Вот это в вашем коде:

$sUrlFull = "/page/mainmain"; 

Замените на вот это:

$sUrlFull = "mainmain"; 

И убедитесь, что страница mainmain есть в вашей базе данных.
avatar
Fatal error: Class 'ModulePage' not found in Z:\home\localhost\www\LiveStreet\engine\classes\Engine.class.php on line 163

Куда модуль прописать, разместить?
avatar
Всё, сама разобралась…
сделала при помощи хука, а метод описанный выше не работает.
avatar
Так напишите, что работает, чтобы все знали.
А то на этом же вопросы не закончатся =)
avatar
Люди напишите пожалуйста как оптимально и правильно сделать статическую страницу главной для LS 1.0.1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.