Ssi и фреймы. Вопрос

Статус
Закрыто для дальнейших ответов.

MIKS

New Member
Регистрация
08.03.2006
Сообщения
6
В статье "SSI в примерах" отличный пример о прямых ссылках и фреймах, всё работает, только вот вопрос, т.к. во фрейме прописывается <!--#echo var="DOCUMENT_URI" -->?done, а не стартовая страница, то получается, если просто зайти на сайт, фрейм остаётся пустым, а хотелось бы, как в обычном случаее, открывалась конкретная страница. Как решить эту проблему ?
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Дабы проще было разбираться опубликуйте здесь код.
 

MIKS

New Member
Регистрация
08.03.2006
Сообщения
6
Код:
<html>

<head>
...
</head>

<!--#if expr="$QUERY_STRING!=done && $HTTP_REFERER!=/domain\.com/" -->

<frameset border="0" frameSpacing="0" frameBorder="NO" cols="*,1,800,1,*">
  <frame border="0" name="back" marginWidth="0" marginHeight="0" src="background.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
  <frame border="0" name="br1" marginWidth="0" marginHeight="0" src="border.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
  <frameset border="0" frameSpacing="0" rows="80,*,15,1" frameBorder="NO">
    
    <frame border="0" name="top" marginWidth="0" marginHeight="0" src="top.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
    
    <frameset border="0" frameSpacing="0" rows="15,*" frameBorder="NO">
      <frame border="0" name="small_top" marginWidth="0" marginHeight="0" src="small_top.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
      <frameset border="0" frameSpacing="0" frameBorder="NO" cols="*,210">
        <frame border="0" name="content" marginWidth="10" marginHeight="2" src='<!--#echo var="DOCUMENT_URI" -->?done' noResize LEFTMARGIN="0" TOPMARGIN="0" scrolling="auto">
        <frame border="0" name="menu" marginWidth="10" marginHeight="2" src="menu.shtml" noResize LEFTMARGIN="0" TOPMARGIN="0" scrolling="auto">
    </frameset>
        
    </frameset>
    <frame border="0" name="bottom" marginWidth="0" marginHeight="0" src="bottom.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
    <frame border="0" name="br2" marginWidth="0" marginHeight="0" src="border.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
  </frameset>
  <frame border="0" name="br3" marginWidth="0" marginHeight="0" src="border.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
  <frame border="0" name="bg" marginWidth="0" marginHeight="0" src="background.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
</frameset>

<NOFRAMES>
<BODY>
<P ALIGN=CENTER>Пожалуйста, воспользуйтесь браузером поддерживающим фреймы.</P>
</BODY>
</NOFRAMES>

<!--#endif -->

</html>
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Приношу свои извинения...думал, что на форуме есть любители SSI... ну ошибся, исправлюсь;)

Так, а теперь по теме...пришлось разобраться с SSI и вот, что у меня получилось:

Код:
<html>

<head>
<title>...</title>
</head>

<!--#if expr="$QUERY_STRING=''" -->
  <!--#set var="page" value="txt/page1.txt" -->
<!--#elif expr="$QUERY_STRING='market'" -->
  <!--#set var="page" value="txt/page2.txt" -->
<!--#elif expr="$QUERY_STRING='contacts'" -->
  <!--#set var="page" value="txt/page3.txt" -->
<!--#else -->
  <!--#set var="page" value="txt/page1.txt" -->
<!--#endif -->

<frameset border="0" frameSpacing="0" frameBorder="NO" cols="*,1,800,1,*">
<frame border="0" name="back" marginWidth="0" marginHeight="0" src="background.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
<frame border="0" name="br1" marginWidth="0" marginHeight="0" src="border.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
<frameset border="0" frameSpacing="0" rows="80,*,15,1" frameBorder="NO">

<frame border="0" name="top" marginWidth="0" marginHeight="0" src="top.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">

<frameset border="0" frameSpacing="0" rows="15,*" frameBorder="NO">
<frame border="0" name="small_top" marginWidth="0" marginHeight="0" src="small_top.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
<frameset border="0" frameSpacing="0" frameBorder="NO" cols="*,210">
<frame border="0" name="content" marginWidth="10" marginHeight="2" src='<!--#echo var="page"-->' noResize LEFTMARGIN="0" TOPMARGIN="0" scrolling="auto">
<frame border="0" name="menu" marginWidth="10" marginHeight="2" src="menu.shtml" noResize LEFTMARGIN="0" TOPMARGIN="0" scrolling="auto">
</frameset>

</frameset>
<frame border="0" name="bottom" marginWidth="0" marginHeight="0" src="bottom.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
<frame border="0" name="br2" marginWidth="0" marginHeight="0" src="border.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
</frameset>
<frame border="0" name="br3" marginWidth="0" marginHeight="0" src="border.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
<frame border="0" name="bg" marginWidth="0" marginHeight="0" src="background.shtml" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
</frameset>

<NOFRAMES>
<BODY>
<P ALIGN=CENTER>Пожалуйста, воспользуйтесь браузером поддерживающим фреймы.</P>
</BODY>
</NOFRAMES>

</html>
Грубо говоря получился мини двиг :) Теперь в зависимости от запроса будут подгружаться нужные вам страницы контента:

Код:
<!--#if expr="$QUERY_STRING=''" -->
  <!--#set var="page" value="txt/page1.txt" -->
<!--#elif expr="$QUERY_STRING='market'" -->
  <!--#set var="page" value="txt/page2.txt" -->
<!--#elif expr="$QUERY_STRING='contacts'" -->
  <!--#set var="page" value="txt/page3.txt" -->
<!--#else -->
  <!--#set var="page" value="txt/page1.txt" -->
<!--#endif -->
Т.е. вам надо создать директорию "txt" и там хранить файлы с контентом: page*.txt
Вот только дружеский совет избавляться от фреймов, не стоит они того.

Теперь вы будете подгружать разные страницы по запросам: http://www.site.ru/?contacts или http://www.site.ru/?market
 

MIKS

New Member
Регистрация
08.03.2006
Сообщения
6
Но если страниц много, то это всё прописывать в index'e (не оч. удобно).

Вот интересно, что такого плахого во фреймах. Например многие Японские сайты серьёзных компаний их активно используют. И если проблема с прямыми ссылками решается, тогда в чём проблема. Да и с фреймами можно сделать дизайн сайта белее интересным.
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Интересный и хороший дизайн можно сделать где угодно. И с фреймами и без.
А в фреймах (имхо) ничего культурного нету.
 

R1S

Well-Known Member
Регистрация
11.01.2006
Сообщения
160
Ну тема почему фреймы-это мягко говоря не хорошо или что круче таблицы или фреймы кажется вечна, и похоже стоит отдельной темы на форуме
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Никто не мешает вам вынести

Код:
<!--#if expr="$QUERY_STRING=''" -->
  <!--#set var="page" value="txt/page1.txt" -->
<!--#elif expr="$QUERY_STRING='market'" -->
  <!--#set var="page" value="txt/page2.txt" -->
<!--#elif expr="$QUERY_STRING='contacts'" -->
  <!--#set var="page" value="txt/page3.txt" -->
<!--#else -->
  <!--#set var="page" value="txt/page1.txt" -->
<!--#endif -->
в отдельный файл, например в kernel.shtml, а в index.shtml заменить выше указанный код на

Код:
<!--#include virtual="kernel.shtml" -->
А насчет фреймов, да бывают ситуации, когда их использование оправдано, но в большей части это лишние проблемы с поисковиками. Так что советую сразу от них отказаться.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ