Gouma se předevčírem podíval na zuby, či trefněji napsáno, zoubky mikroblogování a já se včera snažil zjistit, zda-li by si s mikroblogováním poradil Drupal. Samozřejmě, že mu to nečiní žádný problém :-)
Jak tedy na to? Předpokládám, že na Twitteru již registrovaní jste a taktéž odesílání nových příspěvků už jste důkladně ozkoušeli, zaměřme se tedy na samotnou konfiguraci Vašeho Drupalího webu.
- Povolte modul Aggregator a v Administraci → Správa obsahu → Agregátor zpráv přidejte RSS kanál pro Váš účet z Twitteru – jeho adresa vypadá přibližně takto:
http://twitter.com/statuses/user_timeline/číslo.rss
- Přejděte do Administrace → Prvky webu → Bloky a vytvořte nový blok s tímto obsahem:
<?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)) {
print '<li><div class="my-twitter-status">'. substr($row->description, 8) .'</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;
}
?>
Kód pochází odsud, je však třeba jej mírně upravit, tak, jak jsem to pro Vás udělal já, aby vůbec fungoval a aby nenarušoval design. Na Vás tak zůstávají jen dvě změny.
- Hned na druhém řádku možná budete muset změnit hodnotu proměnné
$fid, používáte-li modul Aggregator delší dobu a máte nebo měli jste v něm nějaké (jakékoli) zdroje nastaveny. Je-li toto Vaše první použití tohoto modulu, pravděpodobně bude dostačující hodnota 1, v opačném případě se ozvěte v komentářích, zkusím popsat postup, kterak zjistit správnou hodnotu.
- Na devátém řádku (počítám-li správně) budete muset změnit druhý parametr funkce
substr. Správná hodnota je „počet písmen Vašeho nicku na Twitteru + 2“ a její změna na toto číslo způsobí, že každá zpráva nebude začínat Vaším nickem. Opravdu by mě zajímal zcela jistě vážný důvod, proč Twitter vkládá do každéch příspěvku nick…
- Aktivujte blok

To by mělo být vše, nicméně jedna moucha, vlastně spíš pořádný brouk, zůstává – netuším, proč se tak děje, ale občas se na několik hodin přestane RSS kanál aktualizovat. Prazvláštní je, že podívám-li se na kanál Firefoxem nebo wgetem, nové příspěvky v něm nevidím, zkusím-li totéž s Operou, nové příspěvky v kanálu jsou.
Už jsem to hlásil Twitteru jako chybu (neboť se skoro určitě jedná o problém na jejich straně), –do té doby mě jako řešení napadá použití Atom kanálu, který Twitter také nabízí, ten se zdá být (alespoň na základě mých chvilkových pokusů) aktuálnější.– Aby to ale nebylo tak ideální, vše nasvědčuje tomu, Aggregator neumí z Atom kanálu zpracovat datum publikování. Takže zbývá počkat, jestli ožije RSS kanál :-)
Komentáře
Re: Drupal a Twitter
parada, zacinam nad tim uvazovat

Re: Drupal a Twitter
Určitě uvažuj, ono to má určité své kouzlo, moct se vypsat z čehokoli :-)
Re: Drupal a Twitter
jj díky za tip.
zní to dobře ale asi
zní to dobře ale asi zůstanu u svýho.
Re: Drupal a Twitter
spravny kod vypada takhle, predchozi ma par bezpecnostnich much :)
Re: Drupal a Twitter
Můžete někdo poslat pls adresu kde je tento kód zprovozněn ?
Poslat nový komentář