+1.08
Рейтинг
1.97
Сила

Юра

Плитка не сложная, достаточно в CSS добавить пару стилей (простой пример jsfiddle.net/eL22n/)
Если хотите что-то более крутое, Вам нужен будет js, к примеру jquery плагины wookmark или masonry.
п.с. тут думать много не надо.
Наброски плагин под шаблон Synio. Думаю идея Вам ясна. (+ используем плагин MainPreview)
Подскажите каким образом можно приостановить обработку экшена из хука через плагин. К примеру, хочу добавить дополнительное поле при регистрации. После нажатия на сабмит хотелось что бы поле прошло валидацию. Используя хук «registration_validate_before» return false для остановки не помогает. Как быть?
Через конфиг попробуйте.
основа есть, остальное дело за малым… допилите его под свои нужды и плагин готов.
Простите, верхний вариант кода не подошел. Был вынужден написать мини плагин для нужд ТС.
Download here
Написан максимально просто и работает только для индекс страницы списка пользователей, без фильтраций и сортировок.
можно ссылочку на сайт в ПМ?
может у них нет созданных топиков?
да, это будет работать только для первой страницы с пользователя. При фильтрации пользователей, список онлайн или новые титулей не будет.
skin/default/user_list.tpl
находим место куда хотим вставить титуль, и добавляем
{foreach from=$aUsersTopic item=oTopic}
	{if $oTopic->getUserId()==$oUserList->getId()}
		{$oTopic->getTitle()|escape:'html'}
		{break}
	{/if}
{/foreach}
простите что без модуля, одно из решений
ActionPeople.class.php,
protected function EventIndex()

после
$aPrefixUser=$this->User_GetGroupPrefixUser(1);

добавляем
$aUsersId = array();
foreach($aUsers as $oUser) $aUsersId[] = $oUser->getId();

$iPage = 1;
$iPerPage = 1;
$aTopics = $this->Topic_GetTopicsPersonalByUser($aUsersId,1,$iPage,$iPerPage);
$aTopics = $aTopics['collection'];

$this->Viewer_Assign('aTopicsByUser',$aTopics);


skin/synio/actions/ActionPeople/index.tpl
{include file='user_list.tpl' aUsersList=$aUsersRating bUsersUseOrder=true sUsersRootPage=$sUsersRootPage}

заменяем на
{include file='user_list.tpl' aUsersList=$aUsersRating bUsersUseOrder=true sUsersRootPage=$sUsersRootPage aUsersTopic=$aTopicsByUser}
юзер лист это /people/?
config.local.php
$config['widgets'][] = array(
    'name' => 'usersonline', // название блока
    'group' => 'right', // позиционирование блока
    'priority' => 1000, // приоритет блока (блоки с бОльшим приоритетом выводятся выше других)
    'params' => array(
        'plugin' => 'acewidgetmanager', //
        'users_max' => 20, // Максимальное число отображаемых пользователей
        'users_period' => 600, // Время, в течение которого пользователь считается в онлайне (сек)
        'renew_time' => 100, // Время обновления (сек). Если = 0, то без автообновления
        'show_last_time' => true, // Показывать время последней активности юзера
                                  // true - показывать
                                  // false - не показывать
        'show_avatar' => 0, // Показывать аватар юзера. Задается размер аватары. Если = 0, то не показывается аватара
        'show_username' => true, // Показывать имя пользователя (если имя юзером не задано, то показывается его логин)
        'show_login_only' => false, // Показывать только логин, даже если юзер задал свое имя (имеет смысл, только если задан предыдущий параметр)
        'show_compact_mode' => false, // Выводить пользователей в компактном режиме (не списком)
    ),
    'js' => '___/js/usersonline.js',
    'on'=>'/,blog' ,
    //'off'=>array('admin/*', 'settings/*', 'profile/*', 'talk/*', 'people/*'),
    'display' => 1,  // true - выводить блок, false - не выводить блок,
                        // array('date_from'=>'2011-10-10', 'date_upto'=>'2011-10-20') - выводить с... по...
);


попробуйте заменить
'show_avatar' => 0,

на
'show_avatar' => 64,
этим кодом выводим топики списка блогов) но знаю, вам это не решить) но если возметесь за программирование то этот код вам в помощь :) думаю, готов помоч реализовать ваши требования, в приват.
//ид блогово $aBlogsId
$aBlogsId = array(1,2,3,4,5);
$aTopics = $this->Topic_GetTopicsByBlogId($aBlogsId,$iPage,$iPerPage,$aAllowData,$bIdsOnly);
Fatal error:  Call to a member function getParentId() on a non-object in /var/www/topix202/data/www/xbizz.ru/templates/compiled/fortune/043428649f184a80f74f5337692b4ab86dd8afe9.file.category.bc_toggle.tpl.php on line 27

проблема та не в шаблоне…
BlockSimpleTopicsTop.class.php
$aResult=$this->User_GetUsersByFilter(array('user_activate'=>1),array('user_rating'=>'desc'),1,Config::Get('plugin.simpletpl.count_top_users'));

Config::Get('plugin.simpletpl.count_top_users')
замените на циферку…
п.с. сложно у вас с пхп. Лучше не лезьте в лс.
mainpreview не нужен. Блок можно запустить напрямую, не используя плагин. simpletpl /classes/blocks/BlockSimpleTopicsTop.class.php в папку root/classes/blocks/ и дальше добавляете шаблон, потом через инсерт в то место где нужно его вывести.