Добро пожаловать на сайт Bitrix Q&A, где вы можете задавать вопросы о программировании и разработке на Битрикс и получать быстрые и квалифицированные ответы от профессионалов!


Перенос html сайта на битрикс

0 голосов
Имеется сайт на голом html (+ssi), предполагается переход на битрикс.

Прошу прокомментировать для новичка, конкретно пока вопросы такие:

1. Какие-либо комментарии относительно "правильного" порядка переноса, личный опыт, мануал и т.д., чтобы с самого начала сделать правильно и потом не исправлять ошибки (какие?).

2. Существует ли какой-то скрипт или иной вариант автоматического переноса из html в битрикс (помнится, подобный конвертер из html был у друпала).

3. Требуется сохранение существующей структуры сайта и урлов страниц вида site.ru/books/001.html, а также в дальнейшем для единообразия также создавать страницы с расширением html. В связи с этим, можно ли изменить автоматически приписываемое расширение .php на .html для вновь создаваемых из админки страниц, чтобы не переписывать его каждый раз вручную.
спросил 12 Янв, 14 от OOkk6m (100 баллов)

3 Ответы

0 голосов
1. Учебные курсы
2. Не видел, может другие видели....
3. mod_rewrite
ответил 25 Апр, 14 от sickmind (4,660 баллов)
0 голосов
Цитата
zentexx пишет:
2. Существует ли какой-то скрипт или иной вариант автоматического переноса из html в битрикс (помнится, подобный конвертер из html был у друпала).


Если вы можете выделить рабочую область в файле - то самый простой способ - в .htaccess добавить обработку расширения .html интерпретатором php и добавить в начало и конец каждого файла, вместо имеющейся там шапки и подвала.
Однако, если страниц меньше 200-500, проще сделать это вручную.



Цитата

3. Требуется сохранение существующей структуры сайта и урлов страниц вида site.ru/books/001.html, а также в дальнейшем для единообразия также создавать страницы с расширением html. В связи с этим, можно ли изменить автоматически приписываемое расширение .php на .html для вновь создаваемых из админки страниц, чтобы не переписывать его каждый раз вручную.


предложенный метод поможет.
ответил 20 Авг, 14 от MoKCimKA (140 баллов)
0 голосов
Цитата
zentexx пишет:
2. Существует ли какой-то скрипт или иной вариант автоматического переноса из html в битрикс (помнится, подобный конвертер из html был у друпала).


можно так попробывать:
сделать шаблон из одной хтмл страницы. потом в дремвьювере(или в другом радакторе) контрл+ф , дальше выбераем папку где лежать хтмл , делее в поиск копируем код из хтмл например область шапки ,а в поле заменить вставляем код
Код
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); ?>

и жмем "заменить все"
тем же макаром меняем везде например картинки <img src"images/photo1.jpg" /> надо <img src"/images/photo1.jpg" /> меняем <img src" на <img src"/
ну и так далее. если титл, декрипшин и кейворд везде разные то придется потрудится :)

вот еще вариант. погуглить слово парсер пхп
вот пример
Код
<?php

class Parser{

    private $doc; /*Переменная, в которой будет храниться DOM*/
    private $linksHref = array();
    private $linkValue = array();

    function __construct($file){
        $this->doc  = new DOMDocument();/*Создаем ДОМ*/
        $this->doc->loadHTMLFile($file);/*Загружаем ХТМЛ*/
        $this->getElementsFromElementById();/*Вызов функции-обработчика*/
    }
    private function getElementsFromElementById(){
        $ul = $this->doc->getElementById('blogroll');/*Ищем данные елемента через его ИД*/
        $allLinks = $ul->getElementsByTagName('a'); /*Ищем в найденом списке все теги А*/
        $this->operationsOverLinks($allLinks); /*Вызов ф. - операции над ссылками*/
    }
    private function operationsOverLinks($links){

        if(is_object($links)){/*Если переменная объект, то идем дальше*/
            foreach ($links as $link){
                if($link->hasAttribute('href')){
                    $this->linksHref[] = $link->getAttribute('href'); /*Получаем значение параметра href тега a*/
                    $this->linkValue[] = iconv("UTF-8","Windows-1251",$link->nodeValue); /*Значение ссылки в cp1251*/
                }else{
                    echo "<script>alert('Doesn`t has attribute or smth else');</script>";
                }
            }
        }else{
            echo "<script>alert('$links isn`t object!!');</script>";
        }
    }
    public function show(){ /*Функция вывода массивов со значениями*/
        echo "<pre>";
        print_r($this->linksHref);
        echo "<pre>";
        echo "<pre>";
        print_r($this->linkValue);
        echo "<pre>";
    }

}

$parser = new Parser('some.html');
$parser->show();

/*Класс создает массивы значений для каждой ссылки. Дальше уже вам думать, что с ними делать, как их использовать. */


 ?>
ответил 25 Дек, 14 от Sp0ke (180 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 18 Июль, 19 от аноним
0 голосов
4 ответов
спросил 20 Окт, 13 от KACAHDPA (120 баллов)
0 голосов
2 ответов
спросил 24 Апр, 14 от xARCHx (240 баллов)
0 голосов
3 ответов
спросил 19 Фев, 14 от Ecilopp (240 баллов)