draxxx 2 Опубликовано: 14 октября 2016 Рассказать Опубликовано: 14 октября 2016 Здравствуйте! Как можно сделать и кто может сделать Ajax загрузку статических страниц на dle 11? чтобы был oneclick на ссылке и оно прогружало tpl. new.worldmin.ru Цитата Ссылка на сообщение Поделиться на других сайтах
webair 178 Опубликовано: 14 октября 2016 Рассказать Опубликовано: 14 октября 2016 (изменено) php скрипт, на который делаете get/post запрос с параметром содержащим название страницы. В php производите выборку из БД. Удаляете содержимое <div id='dle-content'></div> и вставляете туда ответ от AJAX. Готовых решений не будет, либо сами, либо заказывайте. Изменено 14 октября 2016 пользователем webair 1 Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 15 октября 2016 Рассказать Опубликовано: 15 октября 2016 Автор В 14.10.2016 в 13:56, webair сказал: php скрипт, на который делаете get/post запрос с параметром содержащим название страницы. В php производите выборку из БД. Удаляете содержимое <div id='dle-content'></div> и вставляете туда ответ от AJAX. Готовых решений не будет, либо сами, либо заказывайте. А кто может сделать? Знакомый отказался, т.к. в DLE нету единой точки входа! Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 15 октября 2016 Рассказать Опубликовано: 15 октября 2016 2 часа назад, draxxx сказал: т.к. в DLE нету единой точки входа а он ничего побредовей не смог придумать для отмаза? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 16 октября 2016 Рассказать Опубликовано: 16 октября 2016 Какую точку входа он там у вас ищет? Если не умеет получать фрагмент страницы, то вот ссылка на доментацию по jquery http://api.jquery.com/load/ и решение в одну строчку $( "#result" ).load( "/test.html #dle-content" ); которая загрузит статическую страницу с именем test, и возмет только блок который у вас в шаблоне вашей статической страницы и разместит полученный результат в контейнере с ID result 1 Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 16 октября 2016 Рассказать Опубликовано: 16 октября 2016 Автор 2 часа назад, celsoft сказал: Какую точку входа он там у вас ищет? Если не умеет получать фрагмент страницы, то вот ссылка на доментацию по jquery http://api.jquery.com/load/ и решение в одну строчку $( "#result" ).load( "/test.html #dle-content" ); которая загрузит статическую страницу с именем test, и возмет только блок который у вас в шаблоне вашей статической страницы и разместит полученный результат в контейнере с ID result Единая точка входа index.php. Это не решает проблем с Title страницы и ненужный контент не убирается ( [aviable=main] ). Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 16 октября 2016 Рассказать Опубликовано: 16 октября 2016 7 часов назад, draxxx сказал: Единая точка входа index.php это что ещё за хоень? (прошу прощения за выражение) 7 часов назад, draxxx сказал: Это не решает проблем с Title страницы ну так добавь ещё строчку скрипта для title $().attr('title', 'Ololo') 7 часов назад, draxxx сказал: и ненужный контент не убирается ну и ещё одна строчка $('#dle-content').html(''); всё это заворачиваешь в функцию и наводишь красоту... можно сказать, что 50% скрипта, который будет подгружать статическую страницу тебе уже написали. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 17 октября 2016 Рассказать Опубликовано: 17 октября 2016 (изменено) Автор 14 часа назад, odys сказал: это что ещё за хоень? (прошу прощения за выражение) ну так добавь ещё строчку скрипта для title $().attr('title', 'Ololo') ну и ещё одна строчка $('#dle-content').html(''); всё это заворачиваешь в функцию и наводишь красоту... можно сказать, что 50% скрипта, который будет подгружать статическую страницу тебе уже написали. 1: document.title = 'Новое говно'; 2: $('#dle-content').empty(); Изменено 17 октября 2016 пользователем draxxx 2 раза одно и то же Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 18 октября 2016 Рассказать Опубликовано: 18 октября 2016 Автор А вы умные... Спасибо, получилось. Только жаль, что страница идёт так: /#page и как будто фантомная.Тоесть если ссылку отправлять с ней, то не откроется Цитата Ссылка на сообщение Поделиться на других сайтах
webair 178 Опубликовано: 19 октября 2016 Рассказать Опубликовано: 19 октября 2016 В 18.10.2016 в 07:29, draxxx сказал: А вы умные... Спасибо, получилось. Только жаль, что страница идёт так: /#page и как будто фантомная.Тоесть если ссылку отправлять с ней, то не откроется А чего она у вас с /#page? Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 20 октября 2016 Рассказать Опубликовано: 20 октября 2016 Автор 17 часов назад, webair сказал: А чего она у вас с /#page? Уже использую не load, а history api. Грузит даже модули нормально. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 20 октября 2016 Рассказать Опубликовано: 20 октября 2016 11 минуту назад, draxxx сказал: Уже использую не load, а history api. Грузит даже модули нормально. Вы смешали разные вещи воедино, что неправильно. history api ничего не грузит и не может грузить, он совершенно для другого, это API для манипулирования строкой URL браузера, а не для загрузки контента, причем если внимательно изучить документацию по нему, то можно использовать не только якоря, а вообще менять целиком всю строку. Для примера смотрите как работает AJAX навигация по комментариям в DLE, если ее включить в настройках скрипта, и обратите внимание как меняется URL браузера, при этом загрузка будет через AJAX без перезагрузки страниц. Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 25 октября 2016 Рассказать Опубликовано: 25 октября 2016 Автор В 20.10.2016 в 16:29, celsoft сказал: Вы смешали разные вещи воедино, что неправильно. history api ничего не грузит и не может грузить, он совершенно для другого, это API для манипулирования строкой URL браузера, а не для загрузки контента, причем если внимательно изучить документацию по нему, то можно использовать не только якоря, а вообще менять целиком всю строку. Для примера смотрите как работает AJAX навигация по комментариям в DLE, если ее включить в настройках скрипта, и обратите внимание как меняется URL браузера, при этом загрузка будет через AJAX без перезагрузки страниц. Это не правильно, но работает. Вот по этому примеру сделал http://plutov.by/post/html5_history_api и каким то образом загружает... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 25 октября 2016 Рассказать Опубликовано: 25 октября 2016 1 час назад, draxxx сказал: Это не правильно, но работает. Вот по этому примеру сделал http://plutov.by/post/html5_history_api и каким то образом загружает... Загружает у вас код который стоит там где $.ajax ... к history api это отношения не имеет в history api это функция window.history.pushState и она позволяет заменить строку целиком без использования якорей. Якоря это древний метод, когда браузеры поддерживали только якоря, ситуация давно изменилась. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
draxxx 2 Опубликовано: 25 октября 2016 Рассказать Опубликовано: 25 октября 2016 Автор 53 минуты назад, celsoft сказал: Загружает у вас код который стоит там где $.ajax ... к history api это отношения не имеет в history api это функция window.history.pushState и она позволяет заменить строку целиком без использования якорей. Якоря это древний метод, когда браузеры поддерживали только якоря, ситуация давно изменилась. Тоесть так можно? http://new.worldmin.ru/ Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.