Возможно ли всю навигацию по страницам и работу с формами в drupal 7 реализовать с использованием Ajax? Т.е. любое действие на сайте осуществляется через ajax-запросы, без перезагрузки страницы. Если возможно, то с помощью чего и какие готовые модули для этого существуют на сегодняшний день?
Комментарии
Только ответьте на вопрос-зачем?
Это возможно, но хлопоты превысят возможный профит многократно :). В Д7 есть в Form Api #ajax. Попап - через Ctools. Можно заюзать корный Overlay, но он дубов и потребует патч
Лучше не связывайтесь
Требование заказчика
Пытаюсь объяснить заказчику, что это потребует достаточно много времени и трудов.
Как только передо мною поставили такую задачу сразу подумал, что часть функционала проще решить с помощью простого кодинга на PHP без использования Drupal API. Однако все равно останутся проблемы. Например, такая проблема, как навигация по страницам, т.е. обновление части страницы, которая содержит не только сам контент, но и дополнительные навигационные блоки, с помощью которых так же нужно обновлять эту же или область страницы.
Изначально хотелось найти какой-то готовый универсальный механизм для перехода между страницами. И я наткнулся на такую вещь как http://www.denry.ru/drupal-ajax-nodeloader/ . Но думаю, что это решение в моем проекте не совсем подойдет, поскольку обновлять нужно не просто ноду, а часть страницы, если конечно не использовать ноды, например типа page, как контейнеры для блоков,представлений, других нод и простого PHP кода
да, не перевелись еще мудаки на земле русской.
аякс вроде как на стороне клиента исполняетсо? я бы убил, за то что мои ресурсы излишне юзаютсо.
Навешайте ему
лапшипару окошек с формами и выдайте результат .Он видать у вас слишком умен , где-то начитался об экономии ресурсов сервера .
Не перевелись..
Запрос всё-равно на сервер идет,так что 50/50 образно говоря..
сто пудово.. или другой такойже "начальник" посоветовал.
Понимаю ещё если какая то внутренняя система. А у вас наверняка сайт. Продвигать как потом будете? Ранние версии движка ModX так работали-всё на аяксе.Из-за этого им никто не пользовался,пока они не сделали по-нормальному.
Ну не русской, а казахстанской...
Заказчик заявил, что их сайт не нуждается в SEO, а продвижение будет происходить с помощью баннеров и контекстной рекламы.
Что касаемо конкретных примеров, то заказчик захотел такие же навороты как тут
видимо хотят аля вконтакте
;DD
авторизация и поиск
где еще ajax ?
Налепили кучу эффектов .
В форме поиска enter не работает только кнопка со стрелкой .
Ну а че..
"переделать" во всех ссылках параметры на якоря..
Сделать для всех страниц,кроме главной, специальный page.tpl.php
На станичке ява-скриптом преобразовывать ссылку с якорем в нормальную, и аяксом "подтягивать" коннтент..
Как-то так вкраце..-)
На флеш бы тогда сразу делали )))
А по подробнее?
По мнению заказчика: флеш - кака, iOS - красава
на документ.онреди:
{var href = jQuery(this).attr('href');
jQuery(this).attr('href', '#'+href);
});
А там уже надо дальше вешать обработчик на jQuery('a').live|bind('click', function(){...});
и для СЕО будет работать и AJAX получите.
У вас заказчик миллионер? 99% что он вскоре будет очень недоволен что у него народу мало,и вообще-затраты на рекламу не окупятся.
Сайт то как,продавать что то будет?
Ну да))
Так и знал)) а при чём тут iOS?
Только не говорите начальнику что html4 - кака,а html5 - красава)
тогда возможно еще добавить параметр, что-то типа js=on
и cделать вариант page.tpl.php для обычной загрузки страницы... например если выключен яваскрипт..
Зачем?
Если джаваскрипт выключен - то не сработает блок ready и ссылки останутся в том виде, в котором были изначальны.
p.s. вроде друпал сам добавляет к тегу html класс js при включенном js.
чтоб контент аяксом по обычным ссылкам подгружать, надо page.tpl.php слегка модернизировать... как минимум чтоб он "отдавал" только контент.. без шапки и футера(они же статичны)..
Вот и надо чтоб при подгрузке аяксом "работал" один шаблон, а при обычной загрузке - другой..
Понял про что вы. Ну тут смотря как подойти. Мне проще было бы добавить параметр при ajax запросе, который указывал - что отдать нужно только контент и вставить его в блок такой-то.
Но даже так геморно.
Решил проблему с навигацией с помощью короткого ответа:
Спасибо! Копаю дальше, ведь остальной функционал тоже нужно реализовать на AJAX.
Смотрю это http://sf2010.drupal.org/conference/sessions/ajax-and-javascript-drupal7...
Если что отпишусь здесь, как преодолевали трудности