Одинаковое меню и подвал сайта без движка

Приветствую.
Возможно-ли сделать без установки сайта на движок формирование меню и подвала одинаковым для всех имеющихся страниц (ну естественно не переписывая код на каждой отдельной страницы). Например через java скрипт или еще как-то?


   Вопросы 0    81 0

Комментарии (14)

  1. Александр Мальцев # 0
    С помощью JavaScript можно сделать так.
    1. Создать на HTML страницах 2 блока в нужных местах:
    <header id="header"></header>
    <footer id="footer"></footer>
    
    2. Создать 2 файла, например header.tpl и footer.tpl.
    3. Написать скрипт, который подгрузит в эти блоки данные из файлов:
    <!-- Подключить билиотеку jQuery -->
    <script src="js/jquery.js"></script>
    <script>
    $(function(){
      $('#header').load('header.tpl');
      $('#header').load('footer.tpl');
    });
    </script>
    
    1. Андрей # 0
      Спасибо Александр, с java получилось. Возможно получилась неплохая легкая альтернатива движку.
    2. Александр Мальцев # 0
      Если поддерживается php, то можно так (в нужных местах страницы):
      <?php
      include ("header.tpl");
      ?>
      <?php
      include ("footer.tpl");
      ?>
      
      1. Андрей # 0
        С php не совсем понял как реализовать. В принципе php поддерживается, но сайт ведь на html. Для реализации на php надо создавать соответствующие php страницы, так?
        1. Александр Мальцев # 0
          Для запуска html страниц как php необходимо в файле .htaccess добавить строчку (для Apache):
          AddType application/x-httpd-php .html .htm
          
          1. Андрей # 0
            Александр, нашёл еще один вариант — использование директив SSI. Как считаете, какой вариант более предпочтителен — php или SSI?
            1. Александр Мальцев # 0
              Да, тоже неплохой вариант. Там команд не сильно много, но для такого варианта как вы хотите достаточно. Если вы в будущем ничего не будете в плане серверной логике реализовать, то используйте SSI.
              <!--#include virtual="header.tpl"-->
              <!--#include virtual="footer.tpl"-->
              
            2. Андрей # 0
              С PHP так и не получилось. При добавлении такой строчки, браузер не открывает страницу .html, а предлагает загрузить.
              Причем если без добавления этой команды просто переименовать .html в .php, то все работает нормально. Странно.
              1. Александр Мальцев # 0
                Значит необходимо посмотреть, как это делается на хостинге, который вы используете. Или спросить у техподдержки.
                1. Андрей # 0
                  Тестировал на домашнем хостинге (synology, apache http server 5.2, php 5.6 с настройками по умолчанию), поскольку на нём делаю страницы сайта прежде, чем выкладывать на доступный хостинг.
                  1. Александр Мальцев # 0
                    Проверьте, есть ли у данного локального веб-сервера конфигуратор. Может её необходимо добавить туда.
                    1. Андрей # 0
                      Потратил время, но разобрался. Потребовалось кроме добавления обработчика в .htaccess еще и добавлять конфигурацию на самом сервере. Поскольку теперь ssi и php в .html одновременно не обрабатываются, опять думаю что из них лучше и надежнее.
          2. Андрей # 0
            С java работает, только почему-то в футоре при этом не подгружаются скрипты соц. страниц ( у меня в футоре выведены виджеты FB и VK).
            1. Андрей # 0
              Нашел информацию, что вариант с java плохо подходит для СЕО, поскольку блоки вставляемые таким образом не индексируются. Печалька.

              Вы должны авторизоваться, чтобы оставлять комментарии.