SSI подключение с другого домена

Автор -ExotiC-, 28 июня 2016, 14:00:24

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

-ExotiC-

Можно ли на домен mydomain.com вывести инфу с домена mydomain2.com?
Хостинг SMF. Оплата только за использованные ресурсы.

kak2z

я вижу такой вариант.. нужно подключиться к базе mydomain2.com и выводить что хочется)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)


-ExotiC-

Цитата: digger® от 28 июня 2016, 15:13:57Смотря какую инфу и в каком виде. Так то, можно и по http с любого домена дернуть http://simplemachines.ru/SSI.php?ssi_function=recentTopics
Нужно вывести на главную последние сообщения с форума. Насчет iframe - сразу нет. Думаю либо через XML, либо через SSI. Только вот не могу подключить к другому домену.
Хостинг SMF. Оплата только за использованные ресурсы.

digger®

Цитата: -ExotiC- от 28 июня 2016, 15:54:10Нужно вывести на главную последние сообщения с форума. Насчет iframe - сразу нет. Думаю либо через XML, либо через SSI. Только вот не могу подключить к другому домену.
Зачем сразу iframe, можно html распарсить и выдать как надо.
Последние сообщения можно и через rss получить.

-ExotiC-

@digger® вроде распарсил через curl
Код
        $ch = curl_init (); // инициализация
        curl_setopt ($ch , CURLOPT_URL , "сайт откуда парсим");
        curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0"); // браузер
        curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // вывод страницы в переменную
        $content = curl_exec($ch); // скачиваем страницу
        curl_close($ch);
        $this->page["recentPosts"] = $content;       
        echo $content;
Единственное, что при парсинге на ссылках сохранятся сессия гостя (который собственно и парсил). Есть варианты, как её можно скрыть?
Хостинг SMF. Оплата только за использованные ресурсы.


-ExotiC-

Немного подправил, всё работает, спасибо!
Код
        $content = preg_replace("/PHPSESSID=([a-f0-9]{32})/i", "", $content);
Хостинг SMF. Оплата только за использованные ресурсы.

-ExotiC-

Есть еще минус в этом способе - время. Оно зависит от времени на сервере парсера, и не зависит от клиента. У кого-нибудь есть идеи решения?
Хостинг SMF. Оплата только за использованные ресурсы.

digger®

Цитата: -ExotiC- от 28 июня 2016, 17:48:40Есть еще минус в этом способе - время. Оно зависит от времени на сервере парсера, и не зависит от клиента. У кого-нибудь есть идеи решения?
А как оно должно зависеть от клиента? Да и зачем нужно время, если это просто лента сообщений.

И почему не хотите rss использовать? Данные будут в xml и можно некоторыми параметрами манипулировать.

-ExotiC-

@digger®, да я бы рад использовать XML, только вот движок на который вывожу не хочет нормально выводить переменную с HTML тэгами



Ну и сам по себе XML выводит много чего лишнего (например мод спойлера, большие изображения и прочее).
Хостинг SMF. Оплата только за использованные ресурсы.

digger®

Наверное, мы о чем-то разном говорим.
Берем https://www.simplemachines.ru/index.php?action=.xml;type=rss и прогоняем через xml парсер. Получаем массив данных, который как хотим, потом, отображаем и форматируем. Ничего лишнего там нет.
Если это какой-то готовый движок, там может из коробки уже есть средстве для вывода rss лент.

-ExotiC-

Цитата: digger® от 28 июня 2016, 18:50:01Наверное, мы о чем-то разном говорим.
Берем https://www.simplemachines.ru/index.php?action=.xml;type=rss и прогоняем через xml парсер. Получаем массив данных, который как хотим, потом, отображаем и форматируем. Ничего лишнего там нет.
Если это какой-то готовый движок, там может из коробки уже есть средстве для вывода rss лент.
Мой движок использует TWIG

Выводя прямо из "Кода" (т.е. прямо с PHP через echo) всё ок, отлично, с помощью кода, который ниже. Но нет возможности нормально оформить стилями всё это дело.


Хотелось бы чтобы я смог вывести это всё дело по человечески через "Разметку" (это так сказать просто HTML).
Следовательно нам нужно каждую переменную записать для "разметки" отдельно. Добавляем строки к коду:

Код
    $this->page["topicName"] = "$item->title";
    $this->page["topicContent"] = "$item->description";
    $this->page["date"] = "$item->Date";

Подключаем их в разметку:

Код
<div class="container">
    <div class="panel-body">
        <div class="col-lg-5">
            {{ this.page.topicName }}
        </div>
       
        <div class="col-lg-5">
            {{ this.page.topicContent }}
        </div>
       
        <div class="col-lg-2">
            {{ this.page.date }}
        </div>
    </div>
</div>

И в итоге выводится десятый с конца пост. Т.е. итерация каждый раз перезаписывает один пост другим, не успевая выводить первый, он заменяется вторым. Я туплю и не могу понять, как же вывести всё это нормально.


Хостинг SMF. Оплата только за использованные ресурсы.

digger®

Цитата: -ExotiC- от 28 июня 2016, 19:13:10И в итоге выводится десятый с конца пост. Т.е. итерация каждый раз перезаписывает один пост другим, не успевая выводить первый, он заменяется вторым. Я туплю и не могу понять, как же вывести всё это нормально.
Это уже к SMF не относится, но советую посмотреть http://twig.sensiolabs.org/doc/recipes.html рецепт про Accessing the parent Context in Nested Loops

Еще посмотрите про rss https://www.simplemachines.ru/index.php?topic=16241.0

-ExotiC-

@digger®, всю эту XML надо в массив, а он не выводится нормально. В общем я забил, и оставил первоначальный вариант с кривым временем. Спасибо
Хостинг SMF. Оплата только за использованные ресурсы.

-ExotiC-

Еще один вопрос, не хочется создавать новую тему. Можно ли как-то сделать, чтоб тут https://www.simplemachines.ru/index.php?action=.xml;type=rss2;limit=5 не выходили сообщения с одной и той же темы?
Хостинг SMF. Оплата только за использованные ресурсы.

digger®

Цитата: -ExotiC- от 01 июля 2016, 22:28:38Еще один вопрос, не хочется создавать новую тему. Можно ли как-то сделать, чтоб тут https://www.simplemachines.ru/index.php?action=.xml;type=rss2;limit=5 не выходили сообщения с одной и той же темы?
Можно. В FAQ есть раздел про RSS.

-ExotiC-

@digger®, к сожалению я не нашел, можно поподробней?
Хостинг SMF. Оплата только за использованные ресурсы.

GeorG

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

-ExotiC-

@GeorG, перед тем как спросить, я конечно же смотрел эту страницу :)
Хостинг SMF. Оплата только за использованные ресурсы.

GeorG

Цитата: -ExotiC- от 02 июля 2016, 00:21:05к сожалению я не нашел, можно поподробней?
Там даётся описание всем стандартным функциям RSS, а то что вы не нашли, может означать: первое что вы не нашли все таки той ссылки что я вам дал, или вы её нашли, но не смогли понять что там написано, или смогли и первое и второе, но у вас это не работает из-за ошибки, или действительно там нет того что вы искали, а значит и нет вовсе в функционале. Что конкретно вы не нашли?
Цитата: -ExotiC- от 01 июля 2016, 22:28:38не выходили сообщения с одной и той же темы?
Вам надо чтобы несколько раз не выводилось с одной и той же темы, а только один раз (т.е., у вас дублируется одно и тоже сообщение), или вам нужно чтобы выводилось только один раз с темы, в том смысле что например первое сообщение (отсекая все остальные), или вам нужно вообще иметь возможность блокировать вывод сообщений в RSS из определённой темы? :)
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

-ExotiC-

@GeorG, необходимо, чтобы в RSS выходили последние сообщения из топиков (т.е. именно тот вариант, который я указал). С одним условием: если есть два или более $item с одинаковым $title, то не выводить все предыдущие, а только последнее из всех сообщений (т.е. самое верхнее), которые могли бы отобразиться в фиде.
Хостинг SMF. Оплата только за использованные ресурсы.

-ExotiC-

Цитата: digger® от 28 июня 2016, 17:02:23Как-то так
Код: (php)
$content = preg_replace("/sid=([a-f0-9]{32})/i", "", $content);

Кстати, пытался preg_replace для Цитаты и Кода сделать, не получилось. Кто-нибудь в курсе, каким способом можно эти блоки вообще убрать? Просто не красиво выводит
Хостинг SMF. Оплата только за использованные ресурсы.