как вставить обычную страницу (html, php) в окружение (блоки, шапка, подвал) Друпала?

Главные вкладки

Аватар пользователя B.X B.X 15 октября 2006 в 3:31

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

Комментарии

Аватар пользователя ˛ ˛ 15 октября 2006 в 8:10

например сделайте блок
включите формат ввода PHP
заинклюдте вашу статью или напишите другой код

Аватар пользователя B.X B.X 16 октября 2006 в 2:00

нужно именно включение обычной страницы...
про то, что Друпал может вставлять пхп-скрипты в документ - я знаю...

Аватар пользователя Shedko Shedko 16 октября 2006 в 4:01

На данный момент знаю только одно решение:

<IFRAME SRC="http://www.google.com" frameborder="0" height="100" width="100">
</IFRAME>

Но понятно, что оно не идеально, ибо надо точно знать ширину и высоту вставляемой страницы.

Аватар пользователя Макс К. Макс К. 16 октября 2006 в 23:27

Гость пишет: А чем не нравится статья с форматом кода “PHP code”.
Все что в нее надо вставить:
<?php include("my_article.html"); ?>

 
HTML-шапка страницы my_article.html тоже будет вставлена в ноду?

 
Можно конечно вручную подготовить html-кусок для вывода в качестве статьи, но часто желательно, чтобы он существовал и виде полноценной html-страницы. Особенно если страница будет периодически правиться.
TinyMCE хорошая вещь для типовых текстов, но для создания серьезных страниц удобнее применять серьезные офф-лайновые инструменты.

 
В таких случаях я обычно создаю в корне сайта нужный html-файл. Его можно отлаживать в локальной версии с помощью любимого HMTL и JavaScript-редактора. Все вставленные картинки будут правильно отсчитываться от корня сайта.

Когда отладка html-файла закончена, делаю ноду, куда вставляю PHP-скрипт. Он считывает нужный файл и выводит все что внутри тэга body. Картинки будут стоять на своих местах.

В таком варианте всегда остается возможность быстро поправить HTML-файл и быть уверенным, что он правильно будет показан в ноде. Эдакий mini-template.

 
В более продвинутом варианте php-скрипт создается отдельно и кладется в корень сайта. В ноде его только вызывают. Перед вызовом в скрипт передается название файла, который необходимо вывести в ноде и метку, которой будет окружен нужный кусок кода. Это позволяет на одной HTML-странице-доноре задать много кусков, каждый из которых можно будет выдергивать и показывать в отдельной ноде.

 
Формат вызова PHP-скрипта в ноде:


$FileName = "my_article.html";
$Metka = "metka_article";
include("_html_print_inc.php");

 
Открывающая метка "metka_article" это обычный HTML-комментарий, внутри которого находится указанная метка. Закрывающая метка выглядит точно так же, только внутри HTML-комментариев находится текст "/metka_article"

 
Выложить код php-скрипта _html_print_inc.php? Предложение действительно до 20 октября 2006 г. включительно.

 
Макс КириленкоRazgonka.ru - Подбор названий сайтов и программ

Дневник

Аватар пользователя clubwave.ru clubwave.ru 18 октября 2006 в 19:26

Добавлено Макс Кир..., Пон, 16/10/2006 - 19:27
Простите, но бред конкретный.. Ctrl+C, Ctrl-V не удобней?
нежели что-то инклудить, да ещё и на фтп лазить?

Аватар пользователя B.X B.X 17 октября 2006 в 1:29

[b]"А чем не нравится статья с форматом кода “PHP code”."[/b]
...
нужно включение отдельной страницы... неужели непонятно? НЕ НУЖНА статья (или другой тип ноды), нужно включение отдельной страницы в окружение (шапка, блоки, футер) Друпала...
...
для чего это нужно - я тоже объяснил...
...
функциональность простая - сторонние скрипты, или отдельные страницы (например показ результатов поиска на отдельной странице от Google)...

Аватар пользователя Макс К. Макс К. 18 октября 2006 в 21:39

B.X пишет: "нужно включение отдельной страницы…"

 
Правильно ли я понял на этот раз, что Вам не нужно включать свои html-страницы, а Вам хочется включать чужие hmtl-страницы?

Если так, то это называется граббинг чужих сайтов (не знаю русского слова-аналога).

 
Есть 2 варианта граббинга.

 
Вариант 1. Полюбовный. В этом варианте владельцы чужих сайтов предусматривают что их содержимое будут использовать на других сайтах, то они делают все для удобства такого цитирования - или дают ссылку на ЯваСкрипт-файл, которую нужно вставить в текст на своем сайте и получить нужное содержимое. Или ссылку на RSS. Или ссылку на скрипт, который динамически генерит нужную графику. Или еще что. Судя по тому, что у Вас проблема вставки, создатели чужого сайта не поощряют Вашего желания использовать чужой контент.

 
Вариант 2. Насилие. Создатели чужого сайта не предусматривают отдачу своих страниц в удобном виде, поэтому приходится брать чужой контент силой. Или вставляя страницу целиком во фрейм. Или грабя ее скриптом. Или еще как.

 
 
B.X пишет: "неужели непонятно?"

 
Непонятно. Какая страница - статическая или динамическая? Как часто нужно изменять содержимое сграбленной страницы? Есть ли на ней ЯваСкрипты? На каком она языке - английском или русском? В какой она кодировке, UTF-8 или другой? Своя страница или чужая? Согласен ли хозяин страницы отдать ее на сторону или будет преследовать вора со всем усилием? ...

Если бы Вы дали бы URL страницы, которую надо вставить, тогда было бы более понятно, что Вам надо.

 
B.X пишет: "например показ результатов поиска на отдельной странице от Google"

 
Вот это ближе к делу.

 
http://www.google.ru/terms_of_service.html
"Запрещается отправлять в систему Google автоматические запросы любого вида без предварительно выданного разрешения Google. Запрещается размещать результаты поиска на другом веб-сайте."

 
Где-то пробегала цифра, что Гугл просит за такое разрешение около 25 тысяч долларов. Соответственно, за нелегальное использование свое движка Гугл будет мстить с обидой на 25 тысяч долларов.

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

 
Если надо сослаться на какой-то поиск на Гугле, то безопаснее поставить на своем сайте заранее сформированную ссылку на поиск на Гугле определенного запроса. Результат будет показан на сервере Гугла.

 
Если хочется сделать так, чтобы запрос менялся, то можно вставить на сайт форму поиска от Гугла:
http://services.google.com/searchcode2.html?accept=on

При желании там можно задать, чтобы поиск делался только по определенному сайту. Однако результат в любом случае будет показываться на Гугле, а не на проиндексированном сайте.
http://services.google.com/searchcode2.html?accept=on

 
 
Макс КириленкоRazgonka.ru - Подбор названий сайтов и программ

Дневник

Аватар пользователя inc inc 17 октября 2006 в 22:52

Наверное простого include не достаточно, не плохо было бы еще и все ссылки в странице сделать с аттрибутом target='_blank'
2 Макс Кир...(не по теме):
...для создания серьезных страниц удобнее применять серьезные офф-лайновые инструменты....
Что вы имеете ввиду? Word и Dreamweaver или что-то другое?

Аватар пользователя clubwave.ru clubwave.ru 18 октября 2006 в 19:31

Он блокнот наверное имеет ввиду..

Меня тоже интересует инклуд скрипта.. например такого - http://build-portal.ru/links/

Сейчас там просто скопирован дизайн сайта и вставлен как темплейт скрипта, но вот скажем на сайте поменяется баннер и всё тут, опять темплейт скрипта менять..

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

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

Аватар пользователя kiev1 kiev1 19 октября 2006 в 0:56

вот к примеру у меня есть мой бывший сайт скачанный wget-ом и я хочу его странички выложенные на фтп вставить в сайт на друпале - то как?

Аватар пользователя Макс К. Макс К. 19 октября 2006 в 14:12

kiev1 пишет: "вот к примеру у меня есть мой бывший сайт скачанный wget-ом и я хочу его странички выложенные на фтп вставить в сайт на друпале - то как?"
 
"Вставка старого сайта на Друпал"
http://www.drupal.ru/node/2688
 
Макс КириленкоRazgonka.ru - Подбор названий сайтов и программ

Дневник

Аватар пользователя B.X B.X 19 октября 2006 в 21:13

[b]"Запрещается отправлять в систему Google автоматические запросы"[/b]
...
с запретами я как-нибудь сам разберусь...
пока не услышал ни одного конкретного предложения, хотя я думаю, не одному мне надо такое...
...
[b]"Правильно ли я понял на этот раз, что Вам не нужно включать свои html-страницы"[/b]
...
и свои и чужие... свои скрипты и вывод скриптов с других сайтов, для этого нужно именно отдельные страницы (а чтобы они органично смотрелись, нужно их включение в окружение Друпала) и всё...

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 20 октября 2006 в 21:40

У меня задача похожа на задачу В.Х. - вставить инородные страницы (генерируются другой системой на моем же сервере).
Бегло просмотрел contributions/modules, там есть модули static и xstatic, importpage и import_html. Вроде бы для этого. Кто-нибудь пользовался?

Аватар пользователя dyp@drupal.org dyp@drupal.org 21 октября 2006 в 2:25

встроенный поиск от гугля был реализован модулем http://drupal.org/node/59150 через google search api. работет шикарно но на 4.6. на 4.7 не встает.
Можно посмотреть как там реализовано. а еще лучше разобраться почему не работает под 4.7. Было бы счастье

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 21 октября 2006 в 14:08

Кстати, при попытке вставить теги iframe на выходе получаю странный тег "AD- ame". Т.е. "ifr" заменяется на "AD-". Тип фильтра ставил разный, в т.ч. fullHTML. У всех так или это мой сервер (Denwer) режет или, м.б., браузер (пробовал на разных)?

P.s. C этим разобрался - это мой файрволл Outpost вырезает/курочит теги iframe, поскольку в них сейчас модно запихивать свою рекламу. Обойти можно просто - указав свой сайт в числе доверенных, с которых рекламу резать не надо.
Но вопрос - как это будет у посетителя сайта, учитывая что всякого рода файрволлы и баннерорезки достаточно распространены?

Аватар пользователя ZERAM ZERAM 26 сентября 2007 в 8:55

Господа!
Вы пишите:

А чем не нравится статья с форматом кода “PHP code”.
Все что в нее надо вставить:
<?php
include("my_article.html");
?>

куда это надо вставить. приведите полный текст НОВОЙ new_page.php
которая при загрузке. отобразит дизайн друпал + текст инклуденой страницы.

p.s. что вы называете node ??? объясните.

Аватар пользователя ZERAM ZERAM 5 октября 2007 в 0:48

да у меня такойже вопрос. уже весь форум зафлудил) мастера говорят что это легко. но не говорят как. а в документации 'чёрным по белому' не написано (((