Web sitesi ile tumblr blog entegre

4 Cevap php

Web siteme benim Tumblr yem entegre etmek istiyorum. Bu tumblr Bunun için bir API var gibi görünüyor, ama ben nasıl kullanılacağını pek emin değilim. Kimden ne anlıyorum, ben sayfasını istemek, ve tumblr benim blogun içeriği ile bir xml dosyası döndürür. Ama nasıl o anlamlı html içine bu xml yapabilirim? Ben böylece başlıklarını içine alakalı etiketler dönüm ve php ile ayrıştırmak gerekir? Ben o kadar acı olamaz kendime söylüyorum. Herkes herhangi bir anlayış var mı?

4 Cevap

Sen, PHPTumblr alınırken mesajları bir esinti yapar PHP ile yazılmış bir API sarıcı kullanabilirsiniz.

http://www.tumblr.com/developers: O dahil javascript gelmez bu şimdi, Tumblr (bunu görmek için giriş var) mevcut bulunuyor

Bu gibi bir şey olmak rüzgarlar:

<script type="text/javascript" src="http://{username}.tumblr.com/js"></script>

Bunu yapmak için iki ana yöntem vardır. Öncelikle, size (bir SAX veya DOM ayrıştırıcı kullanmak bağlı olarak bunu yapmak için birkaç yol) ihtiyaç etiketleri içeriği çekerek, xml ayrıştırmak. Bu hızlı ve kirli bir çözümdür.

Ayrıca istediğiniz html doğrudan xml kaynağını dönüştürmek için XSLT transformation kullanabilirsiniz. Eğer biraz ayrıntılı bir XSLT şablonları için sözdizimi, öğrenmek zorunda çünkü bu daha karmaşıktır.

Eğer giderseniz http://yourblog.tumblr.com/api/read burada "yourblog" blogunuzun adını görürsünüz (özel bir etki Tumblr blog ev sahipliği eğer ben kullanırım gibi olduğunu, dikkatli olun) ile değiştirilmesi gereken Blogunuzun XML sürümü. O yüzden girintili ve böyle iyi biçimli XML dosyasını görmek için yardımcı olacak, farklı bir tarayıcı birkaç deneyin, Chrome'u kullanmak nedense Firefox benim için gerçekten dağınık çıkageldi.

Sizin blogunuzun XML sürüm bakarak kez, her yazı bir nitelik = "değer" yönelimde veri bir sürü olduğunu fark. İşte benim blogdan bir örnek:

<post id="11576453174" url="http://wamoyo.com/post/11576453174" url-with-slug="http://wamoyo.com/post/11576453174/100-year-old-marathoner-finishes-race" type="link" date-gmt="2011-10-17 18:01:27 GMT" date="Mon, 17 Oct 2011 14:01:27" unix-timestamp="1318874487" format="html" reblog-key="E2Eype7F" slug="100-year-old-marathoner-finishes-race" bookmarklet="true">

Peki, bunu yapmak için pek çok yol var, ben sana kullanılan birini göstermek ve sadece kendi ihtiyaçları için bu terzi böylece bu yazının altındaki kodumu damla olacak. Type = "link" parçası fark? Veya id = "11576453174"? Bunlar PHP komut içine veri çekmek için kullanmak için gidiyoruz değerlerdir.

İşte bir örnek:

<!-- The Latest Text Post -->
<?php
    echo "";
    $request_url = "http://wamoyo.com/api/read?type=regular"; //get xml file
    $xml = simplexml_load_file($request_url); //load it
    $title = $xml->posts->post->{'regular-title'}; //load post title into $title
    $post = $xml->posts->post->{'regular-body'}; //load post body into $post
    $link = $xml->posts->post['url']; //load url of blog post into $link
    $small_post = substr($post,0,350); //shorten post body to 350 characters
    echo // spit that baby out with some stylish html
        '<div class="panel" style="width:220px;margin:0 auto;text-align:left;">
            <h1 class="med georgia bold italic black">'.$title.'</h1>'
            . '<br />' 
            . '<span>'.$small_post.'</span>' . '...' 
            . '<br /></br><div style="text-align:right;"><a class="bold italic blu georgia" href="'.$link.'">Read More...</a></div>
        </div>
        <img style="position:relative;top:-6px;" src="pic/shadow.png" alt="" />
    '; 
?>

Yani, bu aslında oldukça basittir. PHP komut dosyası php değişkenleri içine xml dosyasından (yazı başlığı ve sonrası metin gibi) verileri yerleştirir ve sonra yankılanırken dışında bu değişken bazı html ile birlikte bir blog yazısından bir pasaj özellikleri bir div oluşturmak için. Bu da en son metin yazı bulunmaktadır. Sadece gitmek ve kendi blogunuza o ilk url değiştirmek, bunu kullanmak için çekinmeyin. Ve sonra da xml dosyasından istedikleri değerleri seçin.

Örneğin diyelim ki en son değil, istiyorum, ama ikinci en son "fotoğraf" post diyelim. Sen bu request_url değiştirmek zorunda:

$request_url = "http://wamoyo.com/api/read?type=photo&start=1"

Ya da bir belirli bir etiketi ile en son mesajı istiyorum diyelim

$request_url = "http://wamoyo.com/api/read?tagged=events";

Ya da sadece kimliği kullanmak, bir belirli bir yazı istiyorum diyelim

$request_url = "http://wamoyo.com/api/read?id=11576453174";

Yani yapmanız gereken tüm üzerinde çakmak mı? ne olursa olsun parametresi ve kullanımı bir mega Eğer birden fazla parametre varsa.

Eğer meraklısı bir şey yapmak istiyorsanız, burada Tumblr API docs gerekir: http://www.tumblr.com/docs/en/api/v2

Bu yararlı oldu umut!