Про wordpress всё понятно. тут дело в другом. этот сайт (travelshift) формируется динамически уже в браузере с помощью js.
т.е. вот эти данные, если вы посмотрите их внимательно служат как раз для формирования динамической страницы на стороне клиента с помощью js.(подозреваю что используется vue) Мне нужно подпихнуть эти данные (они же отдаются в браузер, если ввести строку) в скрипт js который эти данные запрашивает. что то типа локального подключения json файла. т.е. прямого указания - прочитать все данные из json файла, а возьму я эти данные не из базы wordpress, а введя ссылку в адресной строке и скопировав их в json |
Цитата:
|
Вам что нужно именно эти данные? Ну так заберите их и поместите у себя на сайте как файл, затем запрашивайте их (для его получения и скриптов то не надо будет, хватит и Apach), декодируйте и делайте с ними чего хотите.
|
Да именно, эти данные. которые нужно подпихнуть этому скрипту.
Так вот и проблема в том что не знаю как и где это сделать... ума не хватает :( Смог найти и понять что вот этот скрипт https://travelshift.com/wp-content/t...eeb227e4057.js получает все необходимые данные Понимаю что в нём нужно заменить запросы к api , на запросы к готовым файлам. ?action=base - только в одном месте в этом файле. Но как это сделать - не знаю. Там слишком сложная для меня структура :( |
Я не понимаю чего надо. Что из этих данных должно получится на клиенте мне не ведомо. Кому что "подпихнуть" я не в курсе, могу только сказать, что это должен быть клиентский сценарий, который точно знает структуру данных, ожидает именно их.
А сами данные, коли они нужны, после запроса по ссылке сохраните как имя_файла.json у себя на сервере, если этого будет достаточно. |
Цитата:
fetchCombinedBase: (E = Object(o.a)(regeneratorRuntime.mark((function t(e) { var r, n, o, c, l, d, h; return regeneratorRuntime.wrap((function (t) { for (;;) switch (t.prev = t.next) { case 0: return r = e.commit, n = e.rootState, o = "".concat(T, "?action=base"), t.next = 4, f.a.get(o, { responseType: "json" }); case 4: c = t.sent, l = c.data, d = [], h = n.ui.bp.mobilePortrait ? 512 : 1024, Object.keys(l).forEach((function (t) { var e = l[t]; "config" == t ? r("i18n/setContent", { en: e }, { root: !0 }) : "pages" == t || "extrapages" == t ? d = d.concat(e) : "blogposts" == t ? r("setBlogPosts", { posts: e }) : "trips" == t ? r("setTrips", { trips: e, imageQuality: h }) : "partners" == t ? r("setPartners", { partners: e }) : "social_feed" == t && r("setSocialFeed", { feed: e }) })), r("setPages", { pages: d }); Вот этот кусок кода, который по моему мнению получает данные. Если это так, то здесь нужно заменить на получение из файла. Как это сделать я не знаю. |
Здесь ?action=base, это GET параметры запроса с ключом action и значением base. Запрос будет производится по указанному пути, если судить по примеру, то .../api/ и если нет перенаправления, то в каталоге должен быть индексный файл, который и будет обрабатывать этот запрос - ключ и его значение. В CMS же все сложнее. В данном скрипте адрес запроса формируется тут - o = "".concat(T, "?action=base"). Вы можете вместо этого переменной "o" указать любой свой путь (относительный или полный) просто к файлу хранящему эти данные.
|
Цитата:
o = "".concat(T, "/mydata.json")так? |
Метод concat() объединяет текст из двух или более строк и возвращает строку из этих строк. То есть, если переменная T содержит путь к реальному каталогу на вашем сайте, то да, нужно только в этом каталоге сохранить эти данные под указанным именем.
|
буду пробовать
|
Часовой пояс GMT +3, время: 05:01. |