سؤال

أود دمج خلاصة Tumblr الخاصة بي على موقع الويب الخاص بي. يبدو أن Tumblr لديه واجهة برمجة تطبيقات لهذا ، لكنني لست متأكدًا تمامًا من كيفية استخدامه. من ما أفهمه ، أطلب الصفحة ، وإرجاع Tumblr ملف XML مع محتويات مدونتي. ولكن كيف يمكنني بعد ذلك جعل XML هذا في HTML ذات معنى؟ هل يجب أن أقوم بتحليله مع PHP ، وتحويل العلامات ذات الصلة إلى رؤوس وما إلى ذلك؟ أقول لنفسي أنه لا يمكن أن يكون هذا مؤلمًا. أي شخص لديه أي رؤى؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام phptumblr, ، غلاف API مكتوب في PHP مما يجعل استرداد المشاركات نسيم.

نصائح أخرى

هناك javaScript تشمل ذلك الآن ، متاح من Tumblr (يجب عليك تسجيل الدخول لرؤيته): http://www.tumblr.com/developers

ينتهي الأمر بكوني شيء من هذا القبيل:

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

إذا ذهبت إلى http://yourblog.tumblr.com/api/read حيث يجب استبدال "Yourblog" باسم مدونتك (كن حذرًا ، إذا قمت باستضافة مدونة Tumblr الخاصة بك على مجال مخصص ، كما أفعل ، استخدم ذلك) سترى إصدار XML من مدونتك. إنه يأتي فوضويًا حقًا بالنسبة لي على Firefox لسبب ما ، لذا فأنا أستخدم Chrome ، جرب اثنين من المتصفح مختلفًا ، وسوف يساعد في رؤية ملف XML جيدًا وممتلئًا وما شابه.

بمجرد أن تنظر إلى إصدار XML من مدونتك ، لاحظ أن كل منشور يحتوي على مجموعة من البيانات في اتجاه "Value". إليك مثال من مدونتي:

<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">

لذلك ، هناك الكثير من الطرق للقيام بذلك ، سأريكم الشخص الذي استخدمته ، وإسقاط الكود الخاص بي في أسفل هذا المنشور حتى تتمكن من تخصيص ذلك لاحتياجاتك. لاحظ جزء = "الرابط"؟ أو المعرف = "11576453174"؟ هذه هي القيم التي ستستخدمها لسحب البيانات إلى البرنامج النصي PHP الخاص بك.

هذا هو المثال:

<!-- 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="" />
    '; 
?>

لذلك ، هذا في الواقع بسيط إلى حد ما. يضع البرنامج النصي PHP هنا البيانات (مثل عنوان المنشور والنص النشر) من ملف XML إلى متغيرات PHP ، ثم صدى تلك المتغير مع بعض HTML لإنشاء DIV الذي يتميز بمقتطف من منشور مدونة. هذا واحد يتميز أحدث منشور نص. لا تتردد في استخدامه ، ما عليك سوى الدخول وتغيير عنوان URL الأول إلى مدونتك الخاصة. ثم اختر أي القيم التي تريدها من ملف XML الخاص بك.

على سبيل المثال ، دعنا نقول أنك تريد ، ليس الأحدث ، ولكن ثاني أحدث "صورة". يجب عليك تغيير request_url إلى هذا:

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

أو لنفترض أنك تريد آخر منشور مع علامة محددة

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

أو لنفترض أنك تريد منشورًا محددًا ، فقط استخدم المعرف

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

إذن كل ما عليك فعله هو Tack على؟ مع أي معلمة واستخدم & إذا كان لديك معلمات متعددة.

إذا كنت تريد أن تفعل شيئًا مربيًا ، فستحتاج إلى مستندات Tumblr API هنا: http://www.tumblr.com/docs/en/api/v2

أتمنى أن يكون هذا مفيدًا!

هناك طريقتان رئيسيتان للقيام بذلك. أولاً ، يمكنك تحليل XML ، وسحب المحتوى من العلامات التي تحتاجها (بعض الطرق للقيام بذلك اعتمادًا على ما إذا كنت تستخدم SAX أو DOM Parser). هذا هو الحل السريع والقذر.

يمكنك أيضا استخدام التحول XSLT لتحويل مصدر XML مباشرة إلى HTML الذي تريده. هذا أكثر مشاركة حيث يجب عليك تعلم بناء الجملة لقوالب XSLT ، وهي مطوّلة قليلاً.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top