Доброго времени суток уважаемые знатоки!
Появилась задача с одного сайта сделать фрэйм views (и по возможности содержимого))) (можт и не фрэйм) на другой сайт.
Вообщем нужно что бы вьюха с одного сайта, отображалась на другом, но это должен быть не фрэйм всей страницы (без блоков, шапки, подвала и прочего), а одна единственная область содержимого (блока), а именно Views (со всем причетаемым содержимым, полями и картинками).
Гуглил, яшил, искал в друпале, то ли не кем этот вопрос не поднимался, то ли я ключевые слова задавал не правильно..
вообщем покажите в какую сторону смотреть, если есть где то решение этой задачи - дайте ссыль.
Заранее благодарен!
Комментарии
Долгое время в 6-ке пользовался этим способом http://drupal.org/node/155889#comment-1353056 , сейчас использую парсинг XML
Создай страницу,выведи на ней программно вьюс и всё. Фреймь её где хочешь.
\\\\Создай страницу
я так понял страницу .htm файл?! (очень не уверен что понял правильно, после серии опытов)))
вывел программно вьювс в обычной ноде, по логике вещей, данный этап пройден успешно..а вот со страницей, что то не очень..я делал так.
создавал htm файл, писал в него
<?php
$m_votings = views_get_view('tip_condframe'); //загружаем вид
$args[0] = $gid; //создаем список аргументов
$m_votings->set_arguments($args); // устанавливаем аргументы
print $m_votings->render('page_1'); //выводим нужное представление
?>
но при обращении к этому файлу через браузер http://mysite.ru/phptest.htm
выводит только
set_arguments($args); // устанавливаем аргументы print $m_votings->render('page_1'); //выводим нужное представление ?>
вообщем не малейшего намёка на мой вьювс..
что то мне подсказывает что на данном этапе я тупанул..подскажите что делать?
Ладно а теперь я расскажу быстрое решение.
Быстро убрать всё кроме Views и при этом оставить элементы хеддера (css,javascript) у вас вряд ли получиться.
(Ну выходом будет собственная page-{page-name}.tpl.php под эту страничку). Но для этого вам придется в любом случае где-то декларировать меню.
Ну может 1 - 2 дня помучаетесь.
Мой вариант. iframe открывается на адрес views с дополнительным параметром в виде хеша
К примеру mysite.com/view#i-love-this-method - пишем простенький javascript
if (window.location.hash === "#i-love-this-method") {
$('body').addClass("iframe");
}
и в Css темизируем страничку так как нам надо с префиксом .iframe к примеру .iframe #page-top {display:none}
Чё за бред...
Вы ещё предложите написать $(".iframe #page-top").css('display','none'); 100500 раз,для всех элементов.
А если у человека страница-портянка?
Существует много способов и это один из них.
Я не представлю возможное кол-во элементов на странице что бы этот прием начал глючить.
Уж лучше тогда свой модуль, хук_меню, возврат вьюхи оттуда + exit
Всем спасибо! Буду пробывать!
Судя по всему нужно отработать php в html.
Ваша интуиция вас снова таки не подвела!
Под созданием страницы я подразумевал использование hook_menu
Если не справитесь - то в в своей html странице подключите ядро Drupal`а.
И будет вам счастье.
Спасибо, на досуге попробую переварить сказанное выше...решил свою проблему, немного криво, но получилось аккуратано как и хотелось...
Создал page.tpl.php для конкретной ноды, удалил из неё всё лишнее, чё не получилось удалить убрал стилем display none.)
Тоже как вариант,кстати.