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

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


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

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

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

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

Спасибо!

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

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

Изменено пользователем Sayrus
Ссылка на сообщение
Поделиться на других сайтах
  • 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>

Успехов вам!

Изменено пользователем Han Solo
Ссылка на сообщение
Поделиться на других сайтах

А не проще в .htaccess указать стартовую страницу?

Новости "слетают" однако :(

Изменено пользователем Han Solo
Ссылка на сообщение
Поделиться на других сайтах
  • 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
Ссылка на сообщение
Поделиться на других сайтах

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 месяца спустя...

,а в DLE 6.5 как ?? , там в index.php нет :

if ($_SERVER['REQUEST_URI']=="" || $_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/index.php")

:(

Заранее спасибо за ответ .

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

А как бы сделать, что бы index.php была не страница новостей, а тоже страница приветствия?

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

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

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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