Перейти к публикации

ajax прогрузка статич. странмц


Рекомендованные сообщения

Здравствуйте! Как можно сделать и кто может сделать Ajax загрузку статических страниц на dle 11?

 

чтобы был oneclick на ссылке и оно прогружало tpl.

new.worldmin.ru

Ссылка на сообщение
Поделиться на других сайтах

php скрипт, на который делаете get/post запрос с параметром содержащим название страницы. В php производите выборку из БД. Удаляете содержимое <div id='dle-content'></div> и вставляете туда ответ от AJAX.

Готовых решений не будет, либо сами, либо заказывайте.

Изменено пользователем webair
Ссылка на сообщение
Поделиться на других сайтах
В 14.10.2016 в 13:56, webair сказал:

php скрипт, на который делаете get/post запрос с параметром содержащим название страницы. В php производите выборку из БД. Удаляете содержимое <div id='dle-content'></div> и вставляете туда ответ от AJAX.

Готовых решений не будет, либо сами, либо заказывайте.

А кто может сделать? Знакомый отказался, т.к. в DLE нету единой точки входа!

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, draxxx сказал:

т.к. в DLE нету единой точки входа

а он ничего побредовей не смог придумать для отмаза? :D

 

Ссылка на сообщение
Поделиться на других сайтах

Какую точку входа он там у вас ищет? Если не умеет получать фрагмент страницы, то вот ссылка на доментацию по jquery http://api.jquery.com/load/ и решение в одну строчку

$( "#result" ).load( "/test.html #dle-content" );

которая загрузит статическую страницу с именем test, и возмет только блок который у вас в шаблоне вашей статической страницы и разместит полученный результат в контейнере с ID result

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, celsoft сказал:

Какую точку входа он там у вас ищет? Если не умеет получать фрагмент страницы, то вот ссылка на доментацию по jquery http://api.jquery.com/load/ и решение в одну строчку


$( "#result" ).load( "/test.html #dle-content" );

которая загрузит статическую страницу с именем test, и возмет только блок который у вас в шаблоне вашей статической страницы и разместит полученный результат в контейнере с ID result

Единая точка входа index.php. Это не решает проблем с Title страницы и ненужный контент не убирается ( [aviable=main] ).

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, draxxx сказал:

Единая точка входа index.php

это что ещё за хоень? (прошу прощения за выражение)

7 часов назад, draxxx сказал:

Это не решает проблем с Title страницы

ну так добавь ещё строчку скрипта для title

$().attr('title', 'Ololo')

 

7 часов назад, draxxx сказал:

и ненужный контент не убирается

ну и ещё одна строчка

$('#dle-content').html('');

всё это заворачиваешь в функцию и наводишь красоту... можно сказать, что 50% скрипта, который будет подгружать статическую страницу тебе уже написали.

Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, odys сказал:

это что ещё за хоень? (прошу прощения за выражение)

ну так добавь ещё строчку скрипта для title


$().attr('title', 'Ololo')

 

ну и ещё одна строчка


$('#dle-content').html('');

всё это заворачиваешь в функцию и наводишь красоту... можно сказать, что 50% скрипта, который будет подгружать статическую страницу тебе уже написали.

1:

document.title = 'Новое говно';

 

2:

$('#dle-content').empty();

 

 

Изменено пользователем draxxx
2 раза одно и то же
Ссылка на сообщение
Поделиться на других сайтах

А вы умные...

 

Спасибо, получилось. Только жаль, что страница идёт так: /#page и как будто фантомная.Тоесть если ссылку отправлять с ней, то не откроется

Ссылка на сообщение
Поделиться на других сайтах
В 18.10.2016 в 07:29, draxxx сказал:

А вы умные...

 

Спасибо, получилось. Только жаль, что страница идёт так: /#page и как будто фантомная.Тоесть если ссылку отправлять с ней, то не откроется

А чего она у вас с /#page?

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, webair сказал:

А чего она у вас с /#page?

Уже использую не load, а history api. Грузит даже модули нормально.

Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, draxxx сказал:

Уже использую не load, а history api. Грузит даже модули нормально.

Вы смешали разные вещи воедино, что неправильно. history api ничего не грузит и не может грузить, он совершенно для другого, это API для манипулирования строкой URL браузера, а не для загрузки контента, причем если внимательно изучить документацию по нему, то можно использовать не только якоря, а вообще менять целиком всю строку.  Для примера смотрите как работает AJAX навигация по комментариям в DLE, если ее включить в настройках скрипта, и обратите внимание как меняется URL браузера, при этом загрузка будет через AJAX без перезагрузки страниц.

Ссылка на сообщение
Поделиться на других сайтах
В 20.10.2016 в 16:29, celsoft сказал:

Вы смешали разные вещи воедино, что неправильно. history api ничего не грузит и не может грузить, он совершенно для другого, это API для манипулирования строкой URL браузера, а не для загрузки контента, причем если внимательно изучить документацию по нему, то можно использовать не только якоря, а вообще менять целиком всю строку.  Для примера смотрите как работает AJAX навигация по комментариям в DLE, если ее включить в настройках скрипта, и обратите внимание как меняется URL браузера, при этом загрузка будет через AJAX без перезагрузки страниц.

Это не правильно, но работает. Вот по этому примеру сделал http://plutov.by/post/html5_history_api и каким то образом загружает...

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, draxxx сказал:

Это не правильно, но работает. Вот по этому примеру сделал http://plutov.by/post/html5_history_api и каким то образом загружает...

Загружает у вас код который стоит там где $.ajax ... к history api это отношения не имеет в history api это функция window.history.pushState и она позволяет заменить строку целиком без использования якорей. Якоря это древний метод, когда браузеры поддерживали только якоря, ситуация давно изменилась.

Ссылка на сообщение
Поделиться на других сайтах
53 минуты назад, celsoft сказал:

Загружает у вас код который стоит там где $.ajax ... к history api это отношения не имеет в history api это функция window.history.pushState и она позволяет заменить строку целиком без использования якорей. Якоря это древний метод, когда браузеры поддерживали только якоря, ситуация давно изменилась.

Тоесть так можно? http://new.worldmin.ru/

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...