Drupal má Twitter moc rád
Při vytváření nového webu jsem samozřejmě chtěl zachovat všechny užitečné funkce z webu starého, přičemž jednou z nich byl výpis nejnovějších komentářů z Twitteru.
Podobně jako u většiny jiných informatických problémů, i zde existuje čisté řešení v podobě modulu nazvaného příznačně Twitter a… nazvěme to „ne zrovna čistým řešením“, což není nic jiného, než nový blok s kusem PHP kódu. K tomuto přístupu jsem se také po krátké úvaze uchýlil a nezbývá, než-li se s vámi podělit o ten kus úchvatného kódu, který jsem vyplodil.
Prvně bude třeba povolit modul Aggregator, který bude od Twitteru v zadaném intervalu stahovat RSS s vašimi komentáři. Učinit tak můžete na stránce /admin/build/modules v kategorii Jádro – nepovinné. Spolu s Aggregatorem povolte i modul PHP filter ze stejné kategorie, bude se hodit později. Pak zamiřte na /admin/content/aggregator/add/feed a přidejte adresu RSS zdroje – tu můžete zjistit letmým pohledem do zdrojového kódu vašeho profilu na Twitteru.
Druhým krokem je samotné vytvoření bloku, což můžete provést na stránce /admin/build/block/add. Vyplňte popis a nadpis (popis je pro vás, nadpis uvidí uživatelé) bloku a jako tělo vložte tuto menší „šílenost“:
<?php $fid = 1; $limit = 5; $result = db_query('SELECT description, timestamp FROM {aggregator_item} WHERE fid = '. $fid .' ORDER BY timestamp DESC LIMIT '. $limit); print '<div class="item-list"><ul>'; while ($row = db_fetch_object($result)) { $text = $row->description; $nick = explode(":", $text); $nick = $nick[0]; $nicklen = strlen($nick) + 2; $text = substr($text, $nicklen); $text = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '<a href="$1">$1</a>', $text); $text = preg_replace('@\@([\w]+)@', '<a href="http://twitter.com/$1">$1</a>', $text); print '<li><div class="my-twitter-status">'; if (($text[0] != '<') && ($text[0] == strtolower($text[0]))) { print $nick . ' '; } print $text . '</div>'; print '<div class="my-twitter-status-time">' . twitter_ago($row->timestamp) . '</div></li>'; } print '</ul></div>'; function twitter_ago ($timestamp) { $difference = time() - $timestamp; $text = format_interval($difference, 2) . " zpět"; return $text; } ?>

A to ještě buďte rádi, že jste neviděli první verzi, která byla distribuována obchodní metodou IKEA – dodělej doma. Čímž chci říct, že tahle verze je alespoň trošku učesanější, než ta hrůza, kterou jsem chtěl světu ukázat prvně. Vážně.
Chcete-li ovlivnit počet vypsaných komentářů, stačí změnit hodnotu proměnné $limit. Naopak obsah proměnné $fid pravděpodobně nebude třeba měnit, leda byste již v minulosti používali modul Aggregator – a v takovém asi případě víte, jak zjistit správné $fid.
Nezapomeňte změnit formát bloku na PHP a povolit jeho zobrazování, stojí-li bohyně při vás, vše by v tuto chvíli mělo fungovat; pokud se tak stalo, nezapomeňte se podělit v diskuzi, v opačném případě na lampárně.
Comments
Zajímavé... A komu tím
Zajímavé... A komu tím prospěješ? :D
Komu to láduješ ty NULO?
Komu to láduješ ty NULO?
Ale tak pánové… :-P
Ale tak pánové… :-P
Tiffany Charms hair smooth
Tiffany Charms hair smooth leather coat collocation and who are very big satchel gedaliah, and in the dust coat the draw on some Tiffany co jewellry revealed a nifty breath more Tiffany Bangles
Dobrý leda jako krmení pro
Dobrý leda jako krmení pro pavouky...
Je někde ukázka výsledku?
Je někde ukázka výsledku?
nice to this artcle
nice to this artcle
You nicely summed up the
You nicely summed up the concern.
Post new comment