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

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


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

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

 

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

new.worldmin.ru

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

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

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

Изменено пользователем webair
  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах
В 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

  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах
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% скрипта, который будет подгружать статическую страницу тебе уже написали.

  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах
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 и она позволяет заменить строку целиком без использования якорей. Якоря это древний метод, когда браузеры поддерживали только якоря, ситуация давно изменилась.

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

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

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

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...