Модераторы: Illuminaty

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Меню гиперссылок 
:(
    Опции темы
MuradK
  Дата 14.1.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 17.12.2004

Репутация: нет
Всего: нет



Я сейчас работаю над сайтом и заметил что у меня слишком много страничек, так что если придётся добавить какую нибудь ссылку в меню гиперссылок, мне что менять на каждой страничке. ФРЕЙМЫ я опробовал! Они мне не нравятся так как невозможно поставить "title".
Так вот, как мне сделать так чтобы меню отображалось на всех станицах?

Спасибо,

Мурад.
PM MAIL   Вверх
Mal Hack
Дата 14.1.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



С помощью SSI или PHP или перла или других серверных технологий...
ИМХО самый простой вариант SSI
ЗЫ: А ифреймы не пробовал?
PM ICQ   Вверх
MuradK
Дата 14.1.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 17.12.2004

Репутация: нет
Всего: нет



Не мог бы дать скрипт. В во всех перечмсленных языках я не разбираюсь.
PM MAIL   Вверх
Mal Hack
Дата 14.1.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



<!--#include file='/menu.html' -->
PM ICQ   Вверх
Bangladesh
Дата 16.1.2005, 02:52 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: 4
Всего: 17



а если проще делаешь основу - index.php а все остальное - ТЕМПЛАТЕСЫ, как в PHPBB или IPB...

смотри, допустим пишешь в меню ссылку:

href="index.php?p=news

а потом скрипт

Код

<?
if($p=="news"){

require "путь к файлу";

}

?>



--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
$дмитрий
Дата 16.1.2005, 02:53 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 10
Всего: 45



или <?php readfile("down.inc"); ?> для РНР
Добавлено @ 02:56
или так:

Код

readfile("top.inc");

if (isset($QUERY_STRING)) {

switch($QUERY_STRING)
{

case "info1" : require("info1.php");  break;
case "info2" : require("info2.php");  break;
case "info3" : require("info3.php");  break;

default : require("index.php");  break;

}
}  else  {
   require("index.php");
  }

readfile("down.inc");


Это сообщение отредактировал(а) $дмитрий - 16.1.2005, 02:58
PM MAIL   Вверх
Bangladesh
Дата 16.1.2005, 03:03 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: 4
Всего: 17



а зачем так слоно, нельзя просто условие и вставка


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
MuradK
Дата 16.1.2005, 09:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 17.12.2004

Репутация: нет
Всего: нет



Ребята, в ПХП пока я ни фига не смыслю smile(
А сколько времени нужно чтобы основательно выучить ПХП???
PM MAIL   Вверх
Gold Dragon
Дата 16.1.2005, 11:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



Вариант1 (на хосте нет SSI и РНР)

Вот пример струкрута моего сайта

Это пример страницы
Код

<html>
<head>
......
</head>
<body>
...
<!-- начало меню  -->
<td class="fon1" width="150">
<script language="JavaScript" type="text/javascript" src="menu.js"></script>
</td>
<!-- конец меню  -->
...
<!-- начало основного поля  -->
<td class="fon1" width="500">
......
</td>
<!-- конец основного поля  -->
......
</body>
</html>

Думаю понятно...

Вот сам файл меню menu.js
Код

var _a=eval("location.pathname");
function _url(name){
if (_a==name){return false;}
else{return true;}
}
document.write("<table width='100%'>");
document.write("<tr><td><a href='index.html' onclick=\"return _url('/index.html')\">Главная</a></td></tr>");
document.write("<tr><td><a href='termin.html' onclick=\"return _url('/termin.html')\">Понятие</a></td></tr>");
document.write("<tr><td><a href='istor.html' onclick=\"return _url('/istor.html')\">История</a></td></tr>");
document.write("<tr><td><a href='proiz.html' onclick=\"return _url('/proiz.html')\">Производство</a></td></tr>");
document.write("<tr><td><a href='koktel.html' onclick=\"return _url('/koktel.html')\">Коктейли</a></td></tr>");
document.write("</table>");

Как видно, это просто кусок структуры страницы, который выдран из основного и храниться в отдельном файле. И чтобы изменить меню, я меняю только один файл.

Я не стал убирать функцию, может её логика тебе пригодиться. Встроенная функция проверяет, на какую ссылку жмёт юзер, если это страница уже открыта, то документ перезагружаться не будет.

Вариант 2 (на хосте есть SSI и РНР, но ты не знаешь РНР)

Сама страница
Код

<html>
<head>
......
</head>
<body>
...
<!-- начало меню  -->
<td class="fon1" width="150">
<!--#include virtual="menu.html"-->
</td>
<!-- конец меню  -->
...
<!-- начало основного поля  -->
<td class="fon1" width="500">
......
</td>
<!-- конец основного поля  -->
......
</body>
</html>

Здесь вставляется уже не JavaScript, а кусок файла HTML

А вот и сам файл menu.html
Код

<table width="100%">
<tr><td><a href="index.html">Главная</a></td></tr>
<tr><td><a href="termin.html">Понятие</a></td></tr>
<tr><td><a href="istor.html">История</a></td></tr>
<tr><td><a href="proiz.html">Производство</a></td></tr>
<tr><td><a href="koktel.html">Коктейли</a></td></tr>
</table>


Как это всё сделать? Делаешь свою полноженную страницу в одном файле, а потом те куски которые у тебя повторяются и часто меняются вырезаешь и вставляешь в отдельные файлы. И в зависимости от варианта: это будет или JavaScript или HTML файт







--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
lovermann
Дата 16.1.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 28.12.2004
Где: Прага

Репутация: нет
Всего: 8



Извини за критику, но такое простое меню просто не заслуживает того, чтобы быть сделанным в виде отдельного .js, по-моему. MuradK, РНР изучается довольно быстро. Если твой сайт -- это всего 5 страничек, то можно сделать так: все тексты распихиваешь по .txt-файлам, а через одну главную страницу инклудишь разные .txt. И всё. Это быстро и легко.
PM WWW ICQ   Вверх
Gold Dragon
Дата 16.1.2005, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



Цитата(lovermann @ 16.1.2005, 14:29)
такое простое меню просто не заслуживает того, чтобы быть сделанным в виде отдельного .js
Извине конечно, но это просто глупость smile Интересно было бы услышать более профессиональное обоснование ;)



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
vio
Дата 19.1.2005, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Red Dragon
А можно ли в качестве гиперссылок вставить картинку???
Как тогда должен выглядеть menu.js?
И второй вопрос: почему у меня на компе не работает
<!--#include virtual="menu.html"-->? smile

PM MAIL   Вверх
Irokez
Дата 19.1.2005, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 3
Всего: 53



vio а у тебя веб-сервер то есть? Апач, денвер, IIS?
PM   Вверх
Gold Dragon
Дата 19.1.2005, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 9
Всего: 71



<!--#include virtual="menu.html"-->

это будет работать если установлен SSI. Тебе нужно установить виртуальный сервер, чтоб было видно..

Цитата(vio @ 19.1.2005, 20:57)
А можно ли в качестве гиперссылок вставить картинку???
Как тогда должен выглядеть menu.js?
Понимаешь, я в *.JS вставляю просто кусок кода HTML

вот смотри
<a href="termin.html">Понятие</a>
это обыкновенный код html

а чтобы его засунуть в js, надо просто вставить в
document.write("....")

вот и всё. А код может быть любым




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
vio
Дата 21.1.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Подскажи где его можно скачать...
Просто дали задание сделать сайт, я его впервые деляю и пока еще не представляю как работать с сарвером...
PM MAIL   Вверх
AztEK
Дата 31.1.2005, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 4
Всего: 18



А кстати как настроить Apache для работы с SSI? Пробовал менять что-то в файле httpd.conf - ни фига smile


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
vio
Дата 3.2.2005, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



AztEK
Может тебе это поможет: (не помню с какого это сайта, но мне помогло...)
6. Настройка Apache


Внимание! Это - самый ответственный момент установки. Просим соблюдать инструкции БУКВАЛЬНО.

В директории D:\usr\Apache\Apache2\conf находится файл httpd.conf, откройте его. Это - единственный файл, который необходимо настроить. Вам предстоит найти и изменить в нем некоторые строки, а именно те, о которых упоминается далее. Во избежание недоразумений не трогайте всё остальное. Следует заметить, что в нем каждый параметр сопровождается несколькими строками комментариев, разобраться в которых с первого раза довольно тяжело. Поэтому не обращайте на них внимание.

В поле Listen укажите номер порта на котором будет работать Apache, по умолчанию стоит 80:
Listen 80


лучше так и оставить, но если он занят другой программой, тогда его нужно будет изменить на другой свободный порт. Не забудьте, если Apache использует другой порт, тогда Вам придётся всегда его указывать в ссылках, например на порт 8080 будет ссылка выглядеть так http://127.0.0.1:8080


В поле ServerAdmin укажите Ваш E-mail адрес, который будет показываться в сообщениях об ошибке сервера. Например:
ServerAdmin [email protected]


В поле ServerName напишите любое слово - на работе это не сказывается, например:
ServerName ApacheServer


Только не забудьте раскомментировать поле ServerName, то есть убрать символ "#" перед этим параметром (по умолчанию он закомментирован)!


В поле DocumentRoot укажите ту директорию, в которой будут храниться Ваши html-файлы, например:
DocumentRoot D:/www


Разумеется, можете указать и любую другую директорию, если хотите. В любом случае, не забудьте ее создать, лучше сделайте это прямо сейчас!


Найдите блок, начинающийся строкой <Directory /> и заканчивающийся </Directory> (вообще, такие блоки обозначают установки для заданной директории и всех ее поддиректорий). Его нужно изменить на:
<Directory />
Options Indexes Includes
AllowOverride All
</Directory>


Таким образом, в этом блоке будут храниться установки для всех директорий по умолчанию (т.к. это - корневая директория).

Возможные значения параметров:

ExecCGI - разрешить выполнение CGI-сценариев в данном каталоге и его поддереве;
FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);
Includes - разрешить SSI (Server Side Includes);
Indexes - разрешить выдачу листинга каталога, если в нем нет файла index.html (или файла индекса, заданного директивой DirectoryIndex);
MultiViews - разрешить поддержку многих языков; по умолчанию она отключена, и включать ее, как правило, не нужно; поддержка перекодирования "на лету" для русского языка устанавливается с помощью других директив, которые мы рассмотрим позже;
All - установить сразу все перечисленные режимы кроме MultiViews

Найдите аналогичный блок, начинающийся <Directory "d:/usr/Apache/htdocs"> и заканчивающийся </Directory>. Там будет много комментариев, не обращайте на них внимание. Этот блок следует заменить на:
<Directory "D:/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>


Это - установки для директории с Вашими html-документами. Если хотите, можете установить другую директорию, главное, чтобы она совпадала с той, которая прописана в параметре DocumentRoot


Идем дальше. Установите UserDir, например так:
UserDir "d:/home"


Это будет директория, в которой хранились бы домашние страницы пользователей, если бы это был настоящий Web-сервер, а также корневые каталоги виртуальных хостов (см. ниже). Не забудьте также создать этот каталог.


Установите DirectoryIndex так:
DirectoryIndex index.html index.htm


Это - так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например, index.phtml, если Вы будите работать с PHP и т.д.


Найдите и пропишите такой параметр:
ScriptAlias /cgi-bin/ "d:/cgi-bin/"


Да, именно так, с двумя слэшами. Это будет та директория, в которой должны храниться Ваши CGI-скрипты. Если хотите, можете задать другое имя, например:
ScriptAlias /mycgi/ "d:/mycgidir/"



Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к директории D:/cgi-bin.


Теперь следует найти и настроить блок параметров, начинающийся с <Directory "D:/cgi-bin"> и заканчивающийся </Directory>. Это - установки для Вашей CGI-директории (если Вы установили для нее другое имя на предыдущем шаге, соответственно модифицируйте путь). Там должно быть:
<Directory "D:/cgi-bin">
AllowOverride All
Options ExecCGI
</Directory>



Теперь найдите строку AddDefaultCharset. Там должно быть:
AddDefaultCharset ISO-8859-1


измените так:
AddDefaultCharset WINDOWS-1251


Эта строка отвечает за кодировку в которой хранятся на диске Ваши файлы.


Настройте следующий параметр:
AddHandler cgi-script .bat .exe .cgi .pl


Это говорит Apache о том, что файлы с расширением .exe и .bat нужно рассматривать как CGI-скрипты.


И последнее - установите:
AddHandler server-parsed .shtml .shtm .sht


Или, если Вы хотите, чтобы и обычные файлы html обрабатывались SSI, напишите так:
AddHandler server-parsed .shtml .shtm .sht .html .htm




Поздравляем - Вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите Пуск->Программы->Apache HTTP Server->Control Apache Server->Start при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте пока оно само не закроется.

Ещё появится в трее иконка, с помощью которой можно запускать и отключать сервер Apache



Вот шаги, которые можно проделать для проверки работоспособности сервера:

Проверка html. В директории d:\www. Создайте файл index.html, например с таким содержанием:
<HTML>
<BODY>
<H1>УРА! Сервер работает!</H1>
</BODY>
</HTML>


Теперь запустите браузер и наберите:
http://localhost/index.html или просто http://localhost/
Загрузится Ваш файл.


Проверка CGI: в директории D:/cgi-bin для CGI-скриптов создайте файл test.bat с таким содержанием:
@echo off
echo Content-type: text/html
echo.
echo.
dir


Теперь в браузере наберите: http://localhost/cgi-bin/test.bat В окне отобразится результат команды DOS dir. (Хотелось бы отметить, что указанный тест работает не на всех версиях Windows, иногда вместо того, чтобы выполнить файл test.bat, Apache выводит в браузер его содержимое. С чем это связано - не совсем ясно, однако, кажется, можно избавиться от указанной ошибки путем манипулирования с Реестром. Если у Вас test.bat не запускается, не расстраивайтесь: вряд ли Вы когда-нибудь будете писать скрипты в виде bat-файлов, тем более, что это несовместимо с Unix.)


Проверка SSI: аналогична проверке html. Создайте файл test.html с таким содержанием:
<!--#include virtual="/cgi-bin/test.bat"-->


Если bat - файлы Ваш Apache запускать не хочет (см. выше), то дождитесь установки Perl или PHP.

Если что-то пошло не так, окно Apache открывается и тут же закрывается, или выдаёт следующее сообщение
Syntax error on line 57 of D:/usr/Apache/Apache2/conf/httpd.conf
:
ServerRoot must be a valid directory
Note the errors or messages above, and press the <ESC> key to exit. 17...23...

это значит, произошла ошибка - в httpd.conf.



Добавлено @ 19:28
AztEK, нашла <a href=http://www.apache.tut.ru/> www.apache.tut.ru </a>
PM MAIL   Вверх
AztEK
Дата 10.2.2005, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 4
Всего: 18



2
vio
smile smile smile smile smile smile smile
Спасибо! помогло!
smile smile smile smile smile smile smile


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.1139 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.