Теперь все скрипты доступны в обновленном формате в нашем магазине USCRIPT.PRO

Перейти в магазин

Добавил: jon
Получение статьи
     В этом примере демонстрируется как с помощью php-скриптов получать данные через API с других страниц или сайтов системы uCoz. Скрипт делает запрос на главную страницу сайта посредством API и получает список статей. Затем выбирает URL последней (самой новой) и опять делает запрос на API, но уже для данной статьи. Рузультаты возвращаются в формате XMLRPC. Получив нужную статью скрипт выводит на текущую страницу ее заголовок, содержимое, автора и ссылку на оригинал.Данный скрипт можно использовать для кросс-постинга, получения и обработки данных о материалах через API или при небольшой доработке для рерайта. Исходный код данного
примера приведен ниже.

В шаблоне страницы:

<div
align="center">
    <p>
        <b>Данный пример демонстрирует использование скрипта для получения последней статьи из официального блога uCoz</b>
    </p>
</div>
<hr>
<?$PHPCODE$("http://phpexample.ucoz.net/php/example003/example003.php")?>


PHP скрипт примера:

<?php
$context = stream_context_create(array('http' => array('method' => "GET", 'header' => "Content-Type: text/xml",)));
$file = file_get_contents("http://blog.ucoz.ru/api/blog/", false, $context);
$response = xmlrpc_decode($file,"utf8");
if ($response && xmlrpc_is_fault($response))
{
    echo "Не могу получить данные, попробуйте позже";
    exit;
}
$lastmat=preg_replace("/\/blog\//i","/api/blog/",$response[0]['ENTRY_URL']);
$file = file_get_contents($lastmat, false, $context);
$response = xmlrpc_decode($file,"utf8");
if ($response && xmlrpc_is_fault($response))
{
    echo "Не могу получить данные, попробуйте позже";
    exit;
}
echo "<center><h1>".$response['TITLE']."</h1></center><br>
<div>".$response['MESSAGE']."</div>
<p>Author: ".$response['USER_NAME']."</p>
<p>Source: <a href='".$response['ENTRY_URL']."'>".$response['ENTRY_URL']."</a></p>";
?>


Добавлен 21.12.2010
комментарии:
Tash_KenT Спам [Материал] 11.12.2013 20:40
Tash_KenT Что то не фурычит.Не че не отображает.Пробовал от сюда взять материал http://www.world-of-tanks.ru/publ/
murich Спам [Материал] 20.04.2011 16:31
Может сделаете, чтобы в адресе вызова скрипта можно было использовать переменные не только шаблона но и материала?
Тогда бы подобные проблемы могли решиться так:
<?$PHPCODE$("http://phpexample.ucoz.net/php/example001/example001.php?uid=".$OTHER_1$)?>
ultraswet Спам [Материал] 31.03.2011 12:29
ultraswet Здравствуйте!
Не могли бы вы подсказать, каким образом я могу получать данные учитывая такой вариант. В модуле Stuff у меня есть каталог материалов. Все они имеют одну и туже адресную строку http://сайт/stuff/1/1-1-0-$ID$. Меняется лишь последний параметр ID.

Мой сайт построен таким образом, что этот материал (в модуле STUFF) как-бы обобщающий, а в модуле NEWS я выкладывая новость просто заполняю поле $OTHER1$, в который как раз вписываю $ID$ соответствующего материала из модуля Stuff. Таким образом я делаю связь материалов.

Вопрос в следующем. Если, скажем, я нахожусь на странице http://сайт/news/2009-03-26-3366 и у этого материала в поле $OTHER1$ вписан, ну предположим, $ID$=55. Каким образом нужно перестроить этот скрипт, чтобы он получал данные со страницы http://сайт/stuff/1/1-1-0-55 и передавал их на страницу http://сайт/news/2009-03-26-3366?
Одним словом, чтобы один php-файл обрабатывал на странице http://сайт/news/2009-03-26-3366 вписанный ID и получал значения из STUFF?

Спасибо. Надеюсь, понятно:)

jon   [Разработчик] Спам [Материал] 31.03.2011 14:21
jon к сожалению, поле OTHER1 не возвращается API модуля news, поэтому получить ID материала в модуле Stuff посредством API не получится.
XxMARSxX Спам [Материал] 15.05.2011 18:07
XxMARSxX Недавно ввели поддержку API Key

Может теперь на запрос будут отдаваться все данные материала?
ну или дайте пользователю возможность самому выбирать, какие даные показывать, какие нет happy

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]