Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Как подтягивать инфу о пользователе с ajax/profile.php как тут, на dle-faq?

Как подтягивать инфу о пользователе с ajax/profile.php как тут, на dle-faq?


     16.12.2019    ajax, профиль    jQuery, Хаки    896

вопрос
Воткнул MFP, заменил функцию в dle_js.js на:

function ShowProfile(name, url, allowedit) {
	$.magnificPopup.open({
		items: {
			src: dle_root + "engine/ajax/profile.php"
		},
		type: "ajax",
		ajax: {
			settings: {
				data: {
					name: name,
					skin: dle_skin
				}
			}
		}
	});
};


Как в ajax/profile правильно внести правки чтобы подтягивать нужную инфу о юзере?

В идеале, было б здорово если Панфутий поделился файликом ajax/profile.php (для исследования и научных целей.)

Ответа пока нет


10 комментариев

ТeraМoune
Юзер

ТeraМoune - 16 декабря 2019 18:37 -

Этого не будет, данный человек уже давно покинул сайт. Да и никто Вам не скинет данный файл, ведь он не имеет отличий. Кто понимает, тот знает, что дело тут в js и html

И тут подымался вопрос о замене стандартного окна на mfp. Ищите.

casholx
Юзер

casholx - 16 декабря 2019 18:45 -

В каком смысле только js и html?

function ShowProfile(name, url, allowedit) {
	$.magnificPopup.open({
		items: {
			src: dle_root + "engine/ajax/profile.php"
		},
		type: "ajax",
		ajax: {
			settings: {
				data: {
					name: name,
					skin: dle_skin
				}
			}
		}
	});
};

Что тут html'a требует?

ТeraМoune
Юзер

ТeraМoune - 16 декабря 2019 19:00 -

Сервер отдаёт html шаблон с разметкой который виден при вызове профиля. И этот шаблон подставляется в окно которое еще нужно правильно вызвать. С чего Вы решили, что магия заключена именно в файле profile.php ?

casholx
Юзер

casholx - 16 декабря 2019 19:11 -

Так. этот js код что я скидываш вышел, подгружает mfp окно с настройками data: name - юзер skin: profile_popup.tpl (шаблон). Выходит в файл profile_popup нехватает чего-то? Так чего?

casholx
Юзер

casholx - 16 декабря 2019 18:57 -

С Этим кодом у меня по просту подгружает весь контент, вместо самого окна пользователя. Тут явно дело в profile.php

ТeraМoune
Юзер

ТeraМoune - 16 декабря 2019 19:09 -

Но могу сказать, что это не так, так что можете не тратить время на profile.php
Свой файл изучите и может поймёте в чём ошибка у Вас.

casholx
Юзер

casholx - 16 декабря 2019 19:12 -

А где может быть ошибка если не в profile.php? и если я этот код инициализации окна я взял отсюда же (dle-faq) ?

ТeraМoune
Юзер

ТeraМoune - 16 декабря 2019 19:22 -

casholx,
Напишу очевидно, просто брать что-то от куда-то не вариант. Нужно понимать как это использовать.
profile.php принимает GET параметры, функция оправляет POST ведь тип ajax, и если бы вы заглянули хотя бы в свой файл то при должном понимании Вы бы без труда заметили в чём проблема. Возможно вы смотрели файл и ничего не нашли. В добавок ко всему у Вас нету одного параметра который вроде как должен тоже отправляться обработчику.

Вывод сделайте сами, данный код не пригоден для вызова. Продолжайте поиск, на этом сайте не одна тема касательно mfp модального окна.

casholx
Юзер

casholx - 16 декабря 2019 19:39 -

Но на этом сайте ведь это работает.
Он подгружает вот эти вот данные https://dle-faq.ru/engine/ajax/profile.php?name=casholx&skin=newfaq
Точно такой-же код инициализации сидит вот в этом файлике: https://dle-faq.ru/engine/classes/js/dle_js.js
Вывод. Дело не в JS и явно не в HTML. А в том самом обработчике. У меня всё работает, кроме подгрузки нужного шаблона. Который по моему мнению формирует файлик profile.php. Тут на сайте он подгружает как надо, а у меня подгружается вся страница, вовсе не профиль.
Я уже искал ваши варианты использования mfp. Меня они не устраивают, там очень много лишнего, и к тому-же не работают кнопки "показать профиль и.т.д". Хотелось бы понять как это устроено тут на dle-faq и сделать так же. Заранее спасибо.

ТeraМoune
Юзер

ТeraМoune - 16 декабря 2019 20:14 -

casholx,
Я же сказал в чём отличие файлов, в GET и POST
файл по умолчанию принимает имя только адресной строке или через get, метод данного сайта делает отправку запроса окна который отправляет данные по POST. Вот и всё

А запуск окна с type: "ajax" делает запрос и передаёт параметры как раз через post

К тому же данный сайт не 13 версии и ссылки тут разные будут
< 13 dle_root + "engine/ajax/profile.php"
> 13 dle_root + "engine/ajax/controller.php?mod=profile"


Тут на сайте он подгружает как надо, а у меня подгружается вся страница, вовсе не профиль.

А это выглядит будто ссылка неверная. При неверной ссылке происходит редирект на главную сайта.

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

Я уверен Вы бы его не изучали, а вовсе заменили и всё на этом. А зачем, работает же верно ?) Ну точней работало бы если бы поделились. А так всё в ваших руках и сделать такие же правки в файле можно и самому. Что собственно Вам и предстоит.



Я уже искал ваши варианты использования mfp. Меня они не устраивают, там очень много лишнего

Еще один человек который боится плевать в море, так как считает, что это приведёт к библейскому потопу. Много лишнего это например ?) Что лишнего в запуске одного и того же скрипта только с разными методами.


и к тому-же не работают кнопки "показать профиль и.т.д". Хотелось бы понять как это устроено тут на dle-faq и сделать так же. Заранее спасибо.

Потому, что кнопки эти получают свои события когда dialog показывает окно. У mfp так же есть так называемые callbacks методы которые исполняют код при определённом случае например в момент открытия окно сделать клик на кнопку переходом в профиль. Или же включить кнопки перехода в профиль в сам шаблон в виде ссылки. Так как кнопки это часть dialog окна, и если открыть инспектор кода и глянуть на кнопку перейти в профиль на этом сайте то можно увидеть, что она именно находится в profile_popup.tpl

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх