Заглушка на первую страницу

#
Re: Заглушка на первую страницу
napishu, можно сделать ссылку на главную с каким-нибудь параметром в конце, типа
<noindex><a href="/?show_splash=1" rel="nofollow">Просмотреть заставку</a></noindex>

А потом в коде добавить проверку на этот параметр и соответственно показывать заставку в случае если этот параметр есть.

Выглядеть это будет примерно так
<?php

/**
* @author Kotoff
* @copyright 2011
*/

// запоминаем в переменную id узла структуры главной страницы
// сюда надо подставить тот id который у вас на сайте,
// цифра 1 тут просто для примера.
$root_structure_id = 1;

// если мы находимся на главной
if (CURRENT_STRUCTURE_ID == $root_structure_id)
{    
    // установим флаг отображения заставки
    $show_splash = true;

    // если передан get-параметр show_splash, то заставку надо показывать обязательно.
    // если get-параметр show_splash не передан,
    // то проверим, существует ли referrer (если его не существует,
    // значит посетитель вбил адрес сайта руками,
    // или зашел из закладки и значит заставку надо показывать)
    if (!isset($_GET['show_splash']) && isset($_SERVER['HTTP_REFERER']))
    {
        //сохраним referrer в переменную
        $referrer_url = $_SERVER['HTTP_REFERER'];
        // создадим экземпляр класса site
        $site = &singleton('site');
        // получим массив всех доменов для текущего сайта
        $resource = $site->GetAllAlias(CURRENT_SITE);
        // "пробежимся" по массиву
        while ($row = mysql_fetch_assoc($resource))
        {
            // защитимся от звездочек в доменах (от записей вида *.site.ru в доменах сайта)
            $domain = $site->ReplaceMask($row['alias_name']);
            // проверим есть ли в строке referrer название рассматриваемого домена
            if (stristr($referrer_url, $domain) !== false)
            {
                // если есть, то значит переход на главную был с внутренней страницы сайта,
                // и значит заставку показывать не надо
                $show_splash = false;
                // если мы уже нашли наш домен в referrer то остальные домены перебирать смысла нет
                break;
            }
        }
    }
    // для главной страницы, отдадим заголовок, запрещающий кеширование.
    // иначе у пользователя в браузере закешируется либо версия с заставкой, либо версия без нее,
    // и переключение происходить не будет
    header('Expires: ' . date("r", time() - 600), true);
} else
    // если мы не на главной странице сайта, то заставку выводить не надо.
    $show_splash = false;

// настроим стиль для отображения блока основным контентом.
if ($show_splash)
{
    // для случая когда надо отображать заставку    
    $content_display = 'none';
} else
{
    // и для случая когда не надо отображать заставку    
    $content_display = 'block';
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    <head>
    ...
    </head>
    <body>
        <? // если мы находимся на главной старанице, то нужно вывести блок заставки
        if (CURRENT_STRUCTURE_ID == $root_structure_id && $show_splash) { ?>
        <div id="splash">Это заставка. Сюда нужно скопировать код из раздела body документа с заставкой.</div>
        <?}?>
        
        <!-- блок с контентом выводим всегда! при отображении заставки он будет невидимым в браузере, за счет стиля display:none -->        
        <div id="content"  style="display: <?=$content_display?>;">
            <!-- а здесь будет обычный макет для сайта, который у вас и был для всех страниц. НАЧАЛО -->
            <div id="header">Шапка сайта</div>
            <div id="main">
                Это основной контент                
                <?php    
                $kernel->show_current_template();
                ?>
            </div>
            <div id="footer">Подвал сайта</div>
            <!-- КОНЕЦ. -->
        </div>
    </body>
</html>


Окружать ссылку в noindex и указывать rel="nofollow" в принципе не обязательно, но весьма желательно, иначе у вас в поисковиках возникнут две "морды" сайта с разными адресами, а это не есть хорошо.
Заказов не беру. Консультирую редко.
Авторизация