идея была давно. а вот вчера посреди ночи проснулся и занялся реализацией. Просьба не кидать в меня помидоры, я не знаю ПХП. Лучше укажите недочеты, и помогите исправить :)
Итак.
1) Сначала попытался сделать это все на пхп. но знающие люди отговорили от этой идеи. все таки твиттер находится на удаленном сервере, поэтому, чтобы профиль не упал при падении твиттера, решил реализовать это на Яваскрипте
2) В свете того, что в предверии выхода версии движка 0.3 сообщество как то зло на все реагирует, хочу заявить. Я тут непричем, моей заслуги нет, код ворованый и тд и тп. Спасибо Максу aka ort за движок.
3) Баги есть и многое еще не доделано. но основной функционал сделан. Повторюсь, буду очень рад, если кто-нибудь поможет сделать из этого конфетку
4) как выглядит это безобразие можете посмотреть тут file.kirovnet.ru/d/108648
простите ссылку на сайт дать не могу — мы за NAT :)
5) Поддерживается не только Twitter, но и любой сервер на движке laconi.ca
6) актуально для пре-0.3, для версии 0.2 тоже должно работать
Закончили с приветами и поздравлениями — Приступаем к работе
для начала создадим в бд в таблице prefix_user поле profile_user_twitter и ознакомимся вот с этим мануалом по созданию дополнительных полей в профиле.
в /templates/skin/new/actions/ActionProfile/sidebar.tpl добавляем сразу после
в classes/modules/user/mapper/User.mapper.class.php
user_profile_twitter = ?,
и
$oUser->getProfileTwitter(),
в classes/modules/user/entity/User.entity.class.php
public function getProfileTwitter() {
return $this->_aData['user_profile_twitter'];
}
public function setProfileTwitter($data) {
$this->_aData['user_profile_twitter']=$data;
}
затем в Затем в classes/actions/ActionSetting.class после проверки ICQ
<div id="tweet">
{if $oUserProfile->getProfileTwitter()}
<script type="text/javascript" src="{$DIR_WEB_ROOT}/templates/skin/new/js/twitter.js"></script>
<script type="text/javascript" charset="utf-8">
var data = '{$oUserProfile->getProfileTwitter()}';
{literal}
getTwitters('tweet', {
id: data ,
count: 1,
enableLinks: true,
ignoreReplies: true,
clearContents: true,
template: '"%text%" <a href="http://twitter.com/%user_screen_name%/statuses/%id%/">%time%</a>'
});
</script>
{/literal}
<p>Подождите пока загрузится статус <img src="{$DIR_WEB_ROOT}/templates/skin/new/images/ajax-loader.gif" /></p>
{/if}
</div>
идем сюда и создаем себе индикатор на любой вкус и цвет. Складируем его сюда templates/skin/new/images/ и обретаем счастие :)
Ну и напоследок. Вина и фруктов тому, кто обрамит это красивым CSS.
Ну и самое последнее, тестировал только под FF 3.0.8. Как работает под остальными браузерами — не знаю, у меня их просто нет.
Приятного использования, все мысли в комментарии :)
Ой, совсем забыл :) Перенести никуда не могу — кармы нехватает :)
UPD: Спасибо eXtravert. надоумил — теперь, если в user_profile_twitter записи нет, то ничего не выводится, код поправил
17 комментариев
замечательный скрипт, спасибо вам… очень помогает разбираться на примерах в функционале движка…
только JavaScript и Java это абсолютно разные вещи, поправьте пожалуйста >.<
к сожалению нет, мы находимся за NAT, выхода в инет не имеем. Можете приехать в Киров и подключиться к провайдеру Multinex, посмотрите :)). а так вроде все расписано, проблем возникнуть не должно, может кто нибудь смелый поставит, тогда и будет видно :)
17 комментариев
только JavaScript и Java это абсолютно разные вещи, поправьте пожалуйста >.<
Вот
Очень нужно, может кто знает?
Под 0.4 скоро будет полноценный плагин