Archive for Март, 2006

Заголовки последних сообщений на vBulletin

30/03/2006 17:26 | Рубрики: Интернет | Метки: , , , ,

Уже несколько раз у меня спрашивали, каким образом показывается список последних сообщений на форуме “Классика”. Напишу об этом здесь, чтобы потом не рассказывать каждому заново, а отсылать к этому посту.

У vBulletin, как и у любой хорошей вещи, есть свои недостатки. Я перешел на него с phpBB, для которого есть замечательная приблуда под названием topics_anywhere. Она позволяет не только показывать последние сообщения на главной (или любой другой) странице форума, но и отдает те же последние сообщения в виде RSS, а также дает возможность с помощью простого Java-скрипта демонстрировать апдейты форума вообще на любой веб-странице (кроме, естественно, ЖЖ, где вообще никакие скрипты вставлять в код страницы нельзя). Короче говоря, это совершенно необходимая вещь для любого вменяемого форума на phpBB. Когда я ее активно использовал, я даже делал русский перевод для нее. С переходом на vB я это дело бросил и, судя по сайту, никто мою инициативу не поддержал, хотя дело совершенно плевое. Так там и лежит мой старый перевод. Ну, да ладно.

В случае с vB дело обстоит намного хуже. Отдавать RSS этот движок отдает, но делает это весьма оригинально: он отдает не последние сообщения в темах, а темы, которые были созданы последними, что страшно неудобно. Сколько я помню, на их форуме поддержки эта тема поднималась не раз, но они по каким-то причинам исправить это, или, хотя бы, сделать какой-то свитч для того, чтобы дать возможность пользоваться и так, и так, не хотят. Что позволяет им говорить, что vBulletin является, так сказать, RSS-compatible, хотя никто этой функцией в таком виде, естественно, не пользуется.

Существует, правда, отдельная приблуда для vB, которая называется fps_external (есть две версии – для 3.0.х и для 3.5.х).

Тем не менее, fps_external, хоть и решает проблему с предоставлением RSS-фида, не дает простого способа демонстрровать последние новости на страницах самого форума. Еще со времен phpBB участники моего форума “Классика” привыкли, чтобы им на любой странице показывали 5-7 последних сообщений, размещенных на форуме. Привыкли они к этому настолько, что даже намного более продвинутая функция “Новые сообщения”, которая есть в vB, их не устраивает. Когда я переходил на новый движок, грешним делом, думал, что удастся обойтись без кустарных примочек, но народ настаивал.

Первая мысль по этому поводу – надо использовать RSS. Но после того, как я выяснил, как именно vBulletin отдается по RSS, я понял, что это не подходит. Стал искать что-то другое. И нашел.

Во времена vB 3.x удавалось обходиться обычным php include. После перехода на vB 3.5.x это дело работать перестало, в связи с чем пришлось выдумать простенький модуль. Вообще, эта система не блещет изящностью, но зато позволяет быстро и легко развернуть монитор последних сообщений форума практически на любой странице. Рассказываю, каким образом.

Для того, чтобы сделать все, описанное ниже, сначала надо скачать архив с двумя файлами. Весит он два килобайта.

Вариант 1. Последние сообщения на самом форуме.

Пример можно увидеть на форуме “Классика”. В верхней части каждой страницы слева – логотип форума, справа – эти самые последние сообщения. Достигнуто это следующим образом.

В скачанном архиве находятся два файла: lastposts3.php (который написал не я, а некто Robin Hood, причем очень давно) и latest_posts.xml. Первый мы кладем в корневую директорию форума (туда же, где, например, лежит index.php), не забыв указать в самом его начале параметры общения с базой mysql. После этого идем в администраторскую панель и находим там пункт “Система модулей” или что-то в этом роде. Нажимаем “Сохранить/Загрузить модуль”. Импортируем туда файл xml из скачанного архива. Теперь в списке установленных модулей появился модуль latest_posts. После этого мы идем в раздел “Стили и шаблоны” админской панели и можем использовать переменную $news в любом месте общего шаблона. Конкретно на форуме “Классика” это, например, сделано так:

<!-- рисуем табличку из трех колонок -->
<table border="0" width="$stylevar[outertablewidth]" cellpadding="0" cellspacing="0"align="center">
<tr>
<!-- в первой колонке у нас логотип и ссылка на чат -->
<td width="33%" align="$stylevar[left]" style="border-right-style: solid; border-right-width: 1px">
<p style="text-align: center">
<a href="$vboptions[forumhome].php$session[sessionurl_q]" mce_href="$vboptions[forumhome].php$session[sessionurl_q]"><img
src="$stylevar[titleimage]" mce_src="$stylevar[titleimage]" border="0" alt="$vboptions[bbtitle]" /></a>
<br><a href="http://forumklassika.ru/chat/" mce_href="http://forumklassika.ru/chat/"><b><font size="2">Чат</font></b></a>

</p>
</td>

<!-- во второй колонке у нас вызов рекламного баннера -->
<td width="33%" align="$stylevar[center]">

<!-- start ad class 2 --><p align="center">

<!-- здесь идет, собственно, код или что угодно, что захочется сюда вставить, либо пустое место -->

</p><!-- end ad class 2 -->

</td>
<!-- а в третьей колонке у нас, как раз-таки, и показываются новости -->

<td width="34%" align="$stylevar[right]">
$news
</td>
</tr>
</table>

Если вставить такой код в общий шаблон header, то результат будет в точности таким, как на всех страницах форума “Классика”. Строго говоря, абсолютно таким же образом можно воткнуть новости в любое место на форуме – для этого надо только поменять в модуле установку “местоположение хака”. По умолчанию там стоит global_start, но можно указать все, что угодно, после чего использовать в соответствсующих местах все ту же переменную $news.

Формат вывода новостей и их количество регулируется в самом файле lastposts3.php. Я не стану подробно рассказывать, что там да как – любой человек, который оказался достаточно продвинут для того, чтобы дочитать до этого места, сможет разобраться, как там все сделано. По умолчанию выводится 7 последних сообщений с именами последних ответивших и временем ответа.

Вариант 2. Отображение последних сообщений на страницах, не связанных с форумом.

Как я уже сказал, к сожалению, vBulletin не предоставляет внятных средств для экспорта своих заголовков на другие сайты. В настоящее время я также не нашел и настолько же удобного дополнения, как topics_anywhere. Но в качестве временной (гхм-гхм) меры можно использовать все тот же lastposts3.php. Например, это можно видеть в правой колонке блога, который вы сейчас читаете. Сверху – анонсы хороших концертов, а ниже – “Сейчас на форуме “Классика”. Этот список тоже формирует lastposts3.php. Еще одна его копия кладется туда, куда удобно (в данном случае – в корень lifanovsky.com), после чего этот файл с отредактированными под данный конкретный случай настройками вызывается директивой include:

<?php
include(path_to_file/lastposts3.php);
?>

Думаю, что его также можно вставить в страницу и каким-нибудь другим образом, если почему-либо php не подходит. Но вот как это сделать конкретно – я уже не подскажу.

Важный момент заключается в том, что у меня форум и Lifanovsky.com располагаются на одном хостинге и даже на одном аккаунте, соответственно, обращаться к базе я могу сколько угодно. Можно ли сделать так, чтобы брались заголовки с другого хостинга наверняка я не знаю, но думаю, что если там, где расположен форум, разрешено обращаться к базе mysql с удаленного сервера – тогда все будет работать. Если же нет – тогда случай сложный, и чем тут помочь, я не знаю. Думаю, что в этом случае придется дергать более продвинутых разработчиков хаков с vBulletin.Org или же наших соотечественников с vBulletin.com.ru или с vBulletin.net.ru.

17 комментариев

Органайзеры вокруг нас

30/03/2006 11:56 | Рубрики: Интернет |

В свое время я был в ужасе от того, что у меня существует три разные базы контактов, два органайзера и т. д. От планирования на бумаге я отвык уже очень давно, году в 1998, когда купил себе первый Palm.

< %image(20060330-desk_watch.jpg|248|218|Органайзер Desk Watch (C) Студия Лебедева)%>

Но в тот момент, когда я создал свой собственный “безбумажный офис”, возникла другая страшная проблема – синхронизация. Palm и компьютер синхронизировались, конечно, без проблем, зато база контактов в мобильном телефоне оставалась “вещью в себе”, потому что хранить в трубке около пятисот контактов было нереально – искать неудобно. Кроме того, оставалась проблема длительных гастролей, когда под рукой долго не оказывалось компьютера. Да и, в конце концов, меня всегда раздражало, что надо таскать с собой и телефон, и КПК. Телефон-то я редко где забывал, а вот КПК вечно оставался дома…

Проблема ушла с покупкой Nokia 9500, телефона и органайзера в одном флаконе. Но к тому времени я уже давно был занят новой идеей. Заключалась она в том, чтобы получить возможность синхронизировать календарь (и контакты, по возможности) не только с MS Outlook на настольном компьютере, но и с неким онлайновым сервисом, благодаря которому можно будет иметь лишний backup, доступ к ценным данным в том случае, если по дороге что-то случится с телефоном (такие случаи бывали) и, плюс, иметь возможность публиковать свои публичные appointments а сайте – для удобства планирования всяких встреч и тому подобного. В этой связи я до сих пор с нетерпением жду Google Calendar, который все обещают, и который все никак не выйдет. А тем временем случайно узнал о существовании некоего сервиса Startplace.Ru, в котором обещали и календарь, и контакты, и базу ссылок – и чего только еще не. Пошел, зарегистрировался. И что же?

Continue Reading »

5 комментариев

Видно, я стал крутым – вот смеху:

29/03/2006 17:51 | Рубрики: Музыка |

мне предложили записать пластинку.
Автобус шел тихонько по бездорожью,
Но до конечной еще есть время…

Эта старая песня Чижа и Чернецкого вспомнилась мне вчера сразу после звонка Лыхина – моего доброго музыкального гения последних месяцев. Мало того, что в середине мая мы с ним сыграем в Шуваловской гостиной Сонату Прокофьева и сюиту из “Пульчинеллы” Стравинского. Т. е. он не дает бездельничать и заставляет держаться в форме, поставив передо мной весьма даже благородную цель. Не позволяет, так сказать,угаснуть творческому духу.

Так вчера выяснилось, что в середине апреля мы еще эту самую Сонату Прокофьева и запишем.
Continue Reading »

Ваш комментарий будет первым

По вторникам №53

28/03/2006 20:15 | Рубрики: Журналистика | Метки: ,

Вышел очередной “Обертон”. 28 марта для меня – особенный день. За четыре года, прошедших со дня папиной смерти, я первый раз решился что-то сказать о нем публично. Трудно мне это отчего-то.

Может быть, и в этот раз не стал бы, но понял, что, если нет концерта, то написать очень нужно. Мне самому нужно.

Каждую его запись без исключения, на мой взгляд, можно считать эталонной. В каждой слышен не только стопроцентный профессионализм и техническая свобода, не только глубокое понимание музыки, но и невероятная искренность исполнителя. Его игра — образец музыкантской честности как перед собой, так и перед слушателем.

Один комментарий

Слухи о московских музыкальных магазинах

27/03/2006 19:34 | Рубрики: Музыка |

Судя по тем разговорам, которые слышны вокруг уже в течение пары недель, чуть ли не единственный вменяемый (хотя и чудовищно дорогой) московский магазин струн и других аксессуаров для профессиональных музыкантов закроется в самое ближайшее время. Речь идет о магазине, который расположен прямо напротив консерватории, в небольшом особнячке. Если я правильно понимаю, закрытие обусловлено начинающейся реконструкцией этого самого особнячка. Многие знают этот магазин как “Господин музыкант”, хотя я и не уверен, что он называется именно так.

В любом случае, учитывая то, что относительно приличный выбор струн, например, обеспечивала в нашем городе только эта точка, для многих этот факт окажется весьма неприятным. В том случае, конечно, если слух подтвердится. Однако, судя по тем же слухам, отчаиваться рано.
Continue Reading »

8 комментариев

Более ранние »

Нарколог врач нарколог отели в лос анжелесе 2 звезды. Строительная теплоизоляция трубопроводов от производителя. сотовые телефонные операторы На сайте www.metobr-expo.ru станок токарный цена для российских заказчиков.