Перейти к публикации

Другая страница вместо новостей


Рекомендованные сообщения

Как сделать, чтобы вместо блока новостей при заходе выводилась к примеру, какая-нибудь другая статическая страница?

Ну не нашел я нигде описания такого. Хотя для вас это наверняка просто.

Буду рад, если вы отправите меня по ЯВНОЙ ссылке на описание подобного решения.

Спасибо!

Ссылка на сообщение
Поделиться на других сайтах

Поддерживаю. Нужно на главную страницу вывести статическую страницу. Как это сделать. Я пробовал своими кривыми методами но ломались при этом новости.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Может быть создать собственный темплейт (например mypage.tpl) и обращаться к нему как http://ваш_сайт/index.php?do=mypage ?

Правда это не очень удобно.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Привет друзья!

Я рад, что не одного меня волнует эта проблема.

И я также рад сообщить вам, что это уже НЕ ПРОБЛЕМА!

Вот решение, которе я нашел (оно простое, и полностью решает задачу):

Чтобы не нарушить общую концепцию движка, ту страницу, которую необходимо вывести как стартовую (вместо вылезающих новостей), необходимо создать как отдельный шаблон.

Как вы знаете, все шаблоны размещаются здесь:

templates\default\

Так вот, создаем, к примеру, шаблон "start.tpl" - это и будет та страничка, которую необходимо показать при заходе на сайт.

Содержимое файла - любой HTML, но не забываем про то, что рулит всем движок, добавляем основные ключевые слова. Т.е. начало нашего шаблона будет, как минимум, таким (можно подсмотреть у шаблона "main.tpl"):

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

</head>

<body>

{headers}

{AJAX}

<!--Design HEAD -->
Как видите, всё просто. После комментария "<!--Design HEAD -->" можно писать что угодно, хоть "Hello World!", хоть <IFRAME>... Т.е. вставить любой код HTML. В конце не забывайте поставить тег </body> Теперь, чтобы наш шаблон вылазил при заходе на сайт, нужно подправить.. как вы догадались, index.php (лежит в корне). В этом файле необходимо заменить строку
$tpl->load_template('main.tpl');
на
if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/")

$tpl->load_template('start.tpl');

else 

$tpl->load_template('main.tpl');

if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/") как раз и является ключевым условием - когда юзер зашел, например, на http://www.mysite.com, выдать ему наш шаблон. А если же он бегает по конкретным страницам - будет работать движок в обычном порядке.

Учтите только, что на стартовой странице (шаблон start.tpl), необходимо не забыть указать ссылки на другие части сайта, иначе не очень гуд получится для юзера :) А ссылки можно указывать как обычно - хоть <a href="/static/price.html">... стандартно вобщем.

Ну и.. получается, что страница index.php - это и будет страница новостей! На нее тоже можно сослаться как

<a href="index.php">Вот они ё#$@ые Новости, мля</a>

Успехов вам!

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Через .htaccess можно, но есть некоторые галюны

Я делаю так, вот начало правленного файла engine.php

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}


if (isset ($_REQUEST['do'])) $do = $_REQUEST['do']; else $do = "";

if (isset ($_REQUEST['subaction'])) $subaction = $_REQUEST['subaction']; else $subaction = "";

if (isset ($_REQUEST['doaction'])) $doaction = $_REQUEST['doaction']; else $doaction = "";


if ($cstart < 0) $cstart = 0;

$CN_HALT = FALSE;


$a_s = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];///////

$b_s = $_SERVER['SERVER_NAME']."/";///////////////////////////

$a_s = str_replace("index.php", "", $a_s);	//////////////////

$a_s = str_replace("?", "", $a_s);////////////////////////////

$a_s = str_replace("/", "", $a_s);

$b_s = str_replace("index.php", "", $b_s);	//////////////////

$b_s = str_replace("?", "", $b_s);////////////////////////////

$b_s = str_replace("/", "", $b_s);////////////////////////////

if ($a_s == $b_s AND !$do) $do = "main_page";/////////////


switch ($do) {	

	case "main_page" :							   

		include ENGINE_DIR.'/modules/main_page.php';   ////

		break;

для этого у меня написан спец. модуль main_page.php, который обладает дополнительными возможностями.

Ссылка на сообщение
Поделиться на других сайтах

fatalenergy,

А смысл всего этого? Что-то накручено, а не понятно зачем....

Я сделал так:

if (($_SERVER['REQUEST_URI']=="/") OR ($_SERVER['REQUEST_URI']=="/index.php")){header("location:index.php?do=static&page=main");}
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

эмм... это не подойдет?

через .htaccess

Как сделать стартовой другую страницу?

Что бы поменять страницу, которая будет показываться при обращении к директории, пишем:

DirectoryIndex <нужная страница>

Можно указывать несколько страниц.

DirectoryIndex index.shtml index.php index.php3 index.html index.htm

по сути путь стат. страницы идет в корне. Например

/index.php

/megapage.html

тогда можно сделать (тоеритически) так:

DirectoryIndex megapage.html

если не работает, попробуйте нечто такое:

/index.php?do=pages&pagenum=5

точнее путь смотрите в том же htaccess.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

...

$tpl->load_template('main.tpl');
на
if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/")

$tpl->load_template('start.tpl');

else 

$tpl->load_template('main.tpl');
...
Я бы еще добавил в проверку:
if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/index.php")

.

Автору топика спасибо.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...
  • 2 месяца спустя...
  • 2 месяца спустя...

Хм а можно сохранять в кеше что человек уже был на этом сайте и страницу входа ему не показывало?И если можно условие плиз а то я не очень силен так....

Ссылка на сообщение
Поделиться на других сайтах

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...