Аватар пользователя B.X

Laetius est, queties magno...

Laetius est, queties magno sibi conostat honestum. — Доблесть тем приятнее, чем труднее её достичь.

Top.Mail.Ru Каталог webplus.info Яндекс.Метрика

Пользователей онлайн: 0.

«Они считали чувство вины ошибкой, а угрызения совести — слабостью. Они всегда были практичны и никогда — сентиментальны. Но дружба их не имела границ.»

Модуль Import HTML | [Харзах]-[РУ]

Аватар пользователя B.X

Итак, вы собираетесь перейти на CMS c обычного HTML-сайта? Если бы у меня кто-то такое спросил, я бы удивился. Неужели, подумал бы я, кто-то ещё создаёт свои сайты с помощью обычного HTML? И тем не менее, это так. Такие люди есть. Но даже если бы их не было, согласитесь, что иногда нужно добавить страницу или несколько страниц в Друпал. Обычных html-страниц, на которых уже есть вся информация и которую не хочется ни редактировать, ни превращать в текст, ни тем более добавлять по одной...

Совсем недавно, разговора о том, как это сделать вообще бы не было, поскольку отсутствовал модуль ответственный за импорт html-страниц, но сейчас он появился, а так как настройка его - это не совсем простая задача, то я попробую объяснить, что именно нужно сделать, чтобы этот модуль заработал. Нормально (с поддержкой всех функций) мне его заставить работать не удалось, но главную свою задачу, а именно, импорт html-файлов он выполняет, а мне больше ничего и не надо было. Самое главное, это конечно, сам модуль Import HTML. Скачайте и установите его обычным образом. Все установки лучше делать на локальном сервере. Рассмотрим настройку этого модуля на примере локального сервера для MS Windows Денвер.

Первым делом, установите самый последний PHP 4 в Денвере (скачайте, он установит его туда, где у вас Денвер). Потом найдите в \WebServers\usr\local\php\ (установочной папки Денвера) файл php.ini и раскомментируйте (уберите двоеточие) перед двумя строчками, перед extension=php_domxml.dll и extension=php_xslt.dll после этого, сохраните файл и перезапустите сервер. Далее, вам нужен Tidy. Вот отсюда скачайте и распакуйте этот файл в папку \WebServers\usr\local\bin\.

Когда всё будет работать, просто поиграйтесь с настройками. Посмотрите, что получится, если включить или выключить ту или иную опцию. Подобавляйте контент, что не нужно удалите. Посмотрите как всё это работает. Для модуля Import_html также нужен модуль Path (входит в стандартную поставку, просто включите его на странице модулей). Вот как я всё поставил:

##########################################################
На странице Import HTML Site:

Site Root on the Server:
C:/WINDOWS/WebServers/home/localhost/www/drupal5/files/docs/
Смотря где у вас находится Денвер, если на C:/WebServers, то лишнее уберите...

Subsection to list:
Здесь оставил пусто как и было...

Зато, например, другая важная опция
Add each page to menu
requires menu.module(installed)

Работает, её нужно отключить, если вы не хотите, чтобы все материалы появились в меню (потом можно с ума сойти, чтобы тысячи материалов из одного меню перевести в другое), легче потом из таксономии создать новое меню и всё... (смотрите на скриншоте, там видно, что в меню появилось много файлов) так же, у меня не сработали сокращённые версии, он их почему-то не добавляет, но после того, как вы добавите все файлы на главную (смотрите ниже по тексту, я там написал об этом), то все сокращённые версии будут созданы автоматически, если вначале файла у вас много хтмл-тегов, то необходимо увеличить количество символов в сокращённой версии, так как хтмл-символы (хотя они и не показываются, тоже считаются)... настройки этого параметра здесь /admin/content/node-settings.

##########################################################
На странице Import HTML Settings:

в Import and Content Analysis Options у меня были такие настройки:

HTML Translation Template:
html2simplehtml.xsl (как было)

Content Tag ID:
main (как было)

Node Type for new pages:
Story

Default Input Filter:
Filtered Html (если ссылки в файлах есть, то они останутся, а всё лишнее уберётся, иначе придётся форматировать файлы отдельно, убирать лишние теги и тд, с этой настрой этого делать не надо)...

Default Document:
index.htm (как было)

File Exclusion Pattern:
(оставил как есть)

Remove table markup
Поставил галку, удаляет таблицы, если у вас там таблиц много, то тогда ставить не надо...

---------------------------------------
---------------------------------------
в Replication Options
Выключил все галки, они там, по моему, ничего не делают, но можете попробовать...

Extra File Storage Path:
files/imported/ (как было)
Надо и создать эту папку тоже, по этому пути, то есть в папке files...

Import Site Prefix:
Очистил эту опцию, ничего здесь не указывал, а то что было убрал...

У меня не заработали, например:
Imported nodes are Published?
Sets the node status. Check to have nodes published.
Imported Nodes are Promoted to front page?
Sets whether or not imported nodes are promoted to the front page.

Добавляют страницы сразу на главную и публикуют их. Не знаю почему не работает, но это не так важно. После добавления, пройдите по адресу admin/content/node (или Управление Сайтом/Содержание) и поставьте галки на всей странице и выберите Поместить на главную (одновременно и опубликуется).

User to create nodes as:
Это по умолчанию, под каким пользователем публикуются материалы, я оставил админом, а вы сами смотрите, если нужно можно публиковать под разными пользователями (для этого надо их добавить в /admin/user/user )

--------------------------------------------
---------------------------------------------
Advanced Import Tuning
Duplicate Handling:
owerwrite/merge (как было)
Эта опция позволяет или перезаписывать при добавлении такого же файла или не перезаписывать.

No Title:
set to placeholder value
Поставил это, иначе он добавляет туда лишние значения, иногда не нужно...

##########################################################
На странице Static HTML Settings:

Static file location:
files/docs/
Вообще, должно у вас быть в папке files ещё две папки, это docs (где вы будете складывать все файлы (они потом будут показаны по ссылке archive в каждом добавленном документе, поэтому удалять их отсюда не нужно) и вторая папка - это imported, туда будут добавляться другие файлы (перезаписываться из папки docs, но это будут всякие графические файлы и тд.)...

Synchronization Behaviour:
Я поставил Write on save, Read Only if file time has changed

Node Types to apply to:
Story

Show link to archive file on page
Не работает... не включай, или включай, всё равно ссылку показывает...

Use import HTML processing
Поставил сюда галку...

###################################################################

Да, кстати, вам нужно все файлы перекодировать в utf-8, это единственная кодировка, которую Друпал поддерживает. Возьмите редактор файлов TEA - он единственный перекодировывает (который мне известен) файлы массово. Перекодировывать там просто: Файл >> Кодировки >> Перекодировать массово. Также существует и Линукс-версия. Но с Линуксом вообще всё намного проще.

Вот собственно и всё. Вроде обо всём упомянул. Посмотрите скриншоты, быть может вам станет более наглядны некоторые моменты в настройке (на скриншотах не всегда те настройки, которые я указал в окончательных настройках выше). Да и ещё про комментарии, они почему-то остаются выключенными, несмотря на то, что для Story они включены по умолчанию. Поэтому если вам будут нужны, то придётся для каждого документа их включить (на странице документа вкладка Редактировать и внизу после формата ввода, есть меню Установки комментариев)...

Аватар пользователя Sergey1917

Модуль в установке и настройке очень сложный. Удалось установить только благодаря советам Владимира. Но с большим количеством файлов он не справляется. Приходится небольшими партиями обрабатывать.

Аватар пользователя B.X

небольшими партиями - это наверное из-за недостатка памяти... но страниц 100, я думаю, за раз он обрабатывает... это уже немало...

Аватар пользователя Sergey1917

А сколько памяти нужно, чтобы за раз обработать 1500 файлов? У меня на ПК 2 гб оперативки. Сколько в настройках можно выставить?

Аватар пользователя B.X

память имеется ввиду у интерпретатора ПХП... как её увеличить, я вроде в письме вам написал, все изменения делаются в php.ini

Аватар пользователя Sergey1917

Я спросил сколько можно поставить пямяти в настройках по максимуму? А как, вы писали в письме. Но вашим посетителям ведь тоже будет интересно. Вот описание модуля, а вот тонкости его установки и настройки на живом компьюторе. Спасибо за советы.

Аватар пользователя B.X

по максимуму? хех... не советую... попытайтесь найти нужную цифру... например, если при 32-х он только половину файлов обрабатывает, то может при 64-х он сможет все?

Аватар пользователя Sergey1917

Импортировал при помощи этого модуля статичные HTML. Но когда зашел анонимным пользователем, все они стали недоступны. Не смог найти настройки прав на их просмотр.

Владимир, может вы знаете, как открыть доступ анонимным пользователям? На странице Контроль доступа (/admin/user/access) я таких настроек не нашел. В настройках самого модуля их тоже нет. Больше суток бьюсь с этим модулем, вроде уже все получилось и вот сюрприз. Не хочется отказывать в доступе импортированным материалам анонимным пользователям.

P.S. Даже еще хуже получилось. Зарегистрированный пользователь имеет доступ к главной странице импортированного сайта, а к другим импортированным страницам пишет у вас нет прав доступа. Получается что только под админом все читается. Прям караул. Более 1500 страниц и несколько тысяч рисунков недоступны.

Аватар пользователя B.X

Добавляют страницы сразу на главную и публикуют их. Не знаю почему не работает, но это не так важно. После добавления, пройдите по адресу admin/content/node (или Управление Сайтом/Содержание) и поставьте галки на всей странице и выберите Поместить на главную (одновременно и опубликуется).

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

Аватар пользователя Sergey1917

Заходил туда и ставил галочку опубликовать все. Но почему то не все опубликовались

Аватар пользователя B.X

значит опубликуйте... там было много страниц и опубликованы будут только те, которые расположены на первой странице... если у вас 1500 материалов, то по 20 на странице это будет около 75... всё это надо опубликовать...

Аватар пользователя Sergey1917

Домучил опубликование, приходилось по пять-десять опубликовывать. Если больше выскакивала ошибка.

Проблема осталась. Незарегистрированным юзерам импортированный материал недоступен. Зарегистрированным, после тотального опубликования, теперь все доступно как и админам.

Владимир, может еще что-нибудь придет в голову?

Аватар пользователя B.X

а кэш у вас отключен? или очищен, после изменений?
раз доступно зарегистрированным, значит должно быть доступно и всем остальным...

Аватар пользователя Sergey1917

А что надо сделать, я его в локалке и не включал, как было рекомендовано?

Хотя ошибаюсь: Static page cache был включен. Отключил - заработало.

А как же мне на хостинге, тоже нельзя будет включать его? Иначе часть контента будет не видна?

Аватар пользователя B.X

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

иногда достаточно просто выключить и включить сразу же кэш обратно, он обычно проверяет доступные версии и если обнаруживает новые страницы - обновляет...

Аватар пользователя Sergey1917

Кэш отключил - работает, включил - сразу же отказано в доступе. Что еще можно сделать?

Кэш почистил через запрос к базе DELETE FROM cache;. Ничего не изменилось, при включенном кэше анонимным недоступны импортированные материалы.

P.S. Ранее был установлен модуль Boost 5.x-1.0 для создания статической сопии сайта. Я его подключил, но статической копии так и не увидел. При отключении этого модуля изменилась страница настройки производительности, опять появилась функция Нормальный. При включении кэша с этой функцией доступ анонимных пользоватей есть.

Но как мне сделать статическую копию сайта?

Аватар пользователя B.X

Boost - это экмпериментальный модуль, в принципе. И чтобы он работал, нужно не только его включить, но и производить изменения конфигурационных файлов... если у вас всё работает без него, а с ним статическая копия не появляется, то зачем вы его включаете вообще? Получается у вас проблемы из-за этого модуля, а не из-за модуля Import Html.

Я с ним не разбирался, так как считаю, что он нестабилен и там много недоработок. Когда он будет работать, тогда и можно его будет включать на обычных сайтах.

Аватар пользователя Sergey1917

А есть ему какая-нибудь альтернатива? Мне нужно будет делать копию сайта на DVD диск.

Аватар пользователя B.X

для создания локальных версий сайтов есть вполне обычные программы... в Windows - это, например, Teleport Pro и аналоги... воспользуйтесь поиском...

Аватар пользователя sanek

Как я понял модуль import html работает только на denwere с php4?
Скачал php 4.4.7 с сайта денвера.
Установил денвер. Он работает.
Далее запускаю инсталяцию php4. Все инсталлируется по умолчанию. Как включить потом php4?

На сайте денвера (http://www.denwer.ru/packages/php4.html) написано следующее:

Необходимо заметить, что PHP4 ставится в виде внешней CGI-программы, а не в виде модуля Apache, как PHP5
После установки PHP4 автоматически запускается при открытии файлов с расширением .php4. Для подключения его к обработке других файлов (например, с расширением .phtml или .php) добавьте в файл .htaccess в директории документов виртуального хоста команды:
# Для расширения .phtml
AddType application/x-httpd-php4 phtml

# Для расширения .php
AddType application/x-httpd-php4 php

Дистрибутив Drupal я скопировал в папку C:/WebServers/home/drupal/www/
Виртуальный хост это та папка, в которую я устанавливаю DRUPAL? Если это так, то я добавляю в самый конец .htaccess, находящийся в папке C:/WebServers/home/drupal/www/ нужную строчку AddType application/x-httpd-php4 php[/i]
Запускаю http://drupal/install.php - мне пишет ошибку:

Not Found
The requested URL /_php4/install.php was not found on this server.

Подсказка Денвера

Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл Z:/home/drupal/www/_php4/install.php, которого не существует.

В случае использования CGI-скриптов, корректные пути к CGI-директориям следующие:
URL Куда указывает
http://***/cgi-glob/script.cgi /home/cgi-glob/script.cgi
http://***/cgi/script.cgi /home/***/cgi/script.cgi
http://***/cgi-bin/script.cgi /home/***/cgi-bin/script.cgi

Владимир, что я не так делаю?!

Аватар пользователя sanek

Короче бился, бился два дня и нихрена не добился! Что то с настройками неполучалось.

Установил вместо денвера topserver 2.1 - заработало сразу! Там даже ничего не раскомментирывал в php.ini !

Аватар пользователя B.X

я вообще в htaccess ничего не добавлял, я же рассказал, как я всё делал...
всё работало на стандартном Денвере с пхп4... может вы Денвер 3 использовали?
Насколько я помню, у меня был Денвер 2...

Но если всё заработало, то хорошо... просто я альтернативные варианты не пробовал, у меня всё заработало с Денвером.

Аватар пользователя sanek

Сейчас для скачивания доступен денвер с php5. Поэтому что бы заработал модуль phpimport я мучался с установкой php4 вместо php5. А для этого и нужно в .htaccess там менять всякие строки.

Странно, на top servere хоть и php5 , но все-равно есть xsl и все работает!

Аватар пользователя B.X

Денвер - это урезанный Апач и урезанный PHP и Perl - это сделано, чтобы уменьшить размер дистрибутива и чтобы более менее всё работало. Как видите, работает не всё...

Аватар пользователя Гость

Да в большинстве случаев Денвера в том состоянии в котором он есть хватает... да и скоро выйдет новая версия в которой много чего будет дополнено про это писали

B.X:
ссылки в соответствующем разделе...