Вы здесь

Модуль Import HTML

Аватар пользователя B.X
Автор: B.X - ср, 20/06/2007 - 23:56

Такім чынам, вы збіраецеся перайсці на CMS c звычайнага HTML-сайта? Калі б у мяне хтосьці такое спытаў, я б здзівіўся. Няўжо, падумаў бы я, хтосьці яшчэ стварае свае сайты з дапамогай звычайнага HTML? І тым не менш, гэта так. Такія людзі ёсць. Але нават калі б іх не было, пагодзіцеся, што часам трэба дадаць старонку ці некалькі старонак у Друпал. Звычайных html-старонак, на якіх ужо ёсць уся інфармацыя і якую не жадаецца ні рэдагаваць, ні ператвараць у тэкст, ні тым больш дадаваць па адной...

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

[img_assist|nid=1327|title=імпарт|desc=|link=popup|align=right|width=100|height=77]

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

[img_assist|nid=1328|title=php.ini|desc=|link=popup|align=right|width=100|height=29]

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

[img_assist|nid=1329|title=налады імпарту|desc=|link=popup|align=right|width=100|height=99]

##########################################################
На старонцы Import HTML Site:

Site Root on the Server:
C:/WINDOWS/WebServers/home/localhost/www/drupal5/system/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
Поставил сюды каўку...

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

[img_assist|nid=1330|title=спіс дакументаў|desc=|link=popup|align=right|width=100|height=67]

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

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

Содержание: 

Модуль ва ўсталёўцы і наладзе вельмі складаны. Атрымалася ўсталяваць толькі дзякуючы радам Уладзіміра. Але з вялікай колькасцю файлаў ён не спраўляецца. Даводзіцца невялікімі партыямі апрацоўваць.

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

Імпартаваў пры дапамозе гэтага модуля статычныя HTML. Але калі зайшоў ананімным карыстачом, усе яны сталі недаступныя. Не змог знайсці налады мае рацыю на іх прагляд.

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

P.S. Нават яшчэ горш атрымалася. Зарэгістраваны карыстач мае доступ да галоўнай старонкі імпартаванага сайта, а да іншых імпартаваных старонак піша ў вас няма правоў доступу. Атрымліваецца што толькі пад адмінам усё чытаецца. Прамы варта. Больш 1500 старонак і некалькі тысяч малюнкаў недаступныя.

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

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

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

Дамучаў апублікаванне, даводзілася па пяць-дзесяць апублікоўваць. Калі больш выскоквала памылка.

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

Владимир, можа яшчэ што-небудзь прыйдзе ў галаву?

А што трэба зрабіць, я яго ў лакалцы і не ўключаў, як было рэкамендавана?

Хотя памыляюся: Static page cache быў уключаны. Адключыў - зарабіла.

А як жа мне на хостынгу, таксама нельга будзе ўключаць яго? Інакш частка кантэнту будзе не бачная?

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

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

Кэш адключыў - працуе, уключыў - адразу ж адмоўлена ў доступе. Што яшчэ можна зрабіць?

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

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

Но як мне зрабіць статычную копію сайта?

Boost - гэта экмпериментальный модуль, у прынцыпе. І каб ён працаваў, трэба не толькі яго ўключыць, але і вырабляць змены канфігурацыйных файлаў... калі ў вас усё працуе без яго, а з ім статычная копія не зъяўляецца, то навошта вы яго ўключаеце наогул? Атрымліваецца ў вас праблемы з-за гэтага модуля, а не з-за модуля Import Html.

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

Як я зразумеў модуль 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

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

Карацей біўся, біўся два дня і ніхрана не дамогся! Што то з наладамі неполучалось.

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

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

Но калі ўсё зарабіла, то добра... проста я альтэрнатыўныя варыянты не спрабаваў, у мяне ўсё зарабіла з Дэнверам.

Цяпер для спампоўкі даступны дэнвер з php5. Таму што б зарабіў модуль phpimport я мучаўся з усталёўкай php4 замест php5. А для гэтага і трэба ў .htaccess там змяняць усякія радкі.

Странно, на top servere хоць і php5 , але ўсё-роўна ёсць xsl і ўсё працуе!

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

B.X:
ссылки у адпаведнай частцы...