Для одного из моих проектов, ссылку к сожалению пока дать не могу)), необходим был модуль последних зарегистрированных пользователей, которые бы при помощи jquery пролистывались бы в виде карусели.
В результате моих усилий и изучении новых (первых!) азов программирования получился модуль.
В принципе то что мне нужно было сделать я сделал. Вот пример с минимальной версткой sasovo.net/sitemap
модуль также выводит город и возраст. Посмотреть можете на примере пользователя kkkkk.
Модуль работает как на 1.8 так и на 1.9
Настроек из админки модуль не имеет, да мне они и не нужны были.
Инструкция по установке (она есть в архиве в файле README)
Внимание, инструкция для шаблона по умолчанию _default_, для другого шаблона необходимо исправить пути к скриптам
Для начала скачиваем и распаковываем архив.
1. Из файла SQL.txt копируем текст и выполняем запрос к базе данных.
2. Папки modules и templates целиком копируем в корень сайта.
3. В файле template.php вашего шаблона перед тегом </head> вставляем следующий код.
4. Заходим в админку, находим модуль Новые регистрации и отображаем его там, где нужно.
Собственно сам архив — СКАЧАТЬ
В результате моих усилий и изучении новых (первых!) азов программирования получился модуль.
В принципе то что мне нужно было сделать я сделал. Вот пример с минимальной версткой sasovo.net/sitemap
модуль также выводит город и возраст. Посмотреть можете на примере пользователя kkkkk.
Модуль работает как на 1.8 так и на 1.9
Настроек из админки модуль не имеет, да мне они и не нужны были.
Инструкция по установке (она есть в архиве в файле README)
Внимание, инструкция для шаблона по умолчанию _default_, для другого шаблона необходимо исправить пути к скриптам
Для начала скачиваем и распаковываем архив.
1. Из файла SQL.txt копируем текст и выполняем запрос к базе данных.
2. Папки modules и templates целиком копируем в корень сайта.
3. В файле template.php вашего шаблона перед тегом </head> вставляем следующий код.
<script src="/templates/_default_/lib/jquery-1.4.2.min.js" type="text/javascript"></script> <script src="/templates/_default_/lib/jquery.jcarousel.min.js" type="text/javascript"></script> <script type="text/javascript"> function mycarousel_initCallback(carousel) { // Disable autoscrolling if the user clicks the prev or next button. carousel.buttonNext.bind('click', function() { carousel.startAuto(0); }); carousel.buttonPrev.bind('click', function() { carousel.startAuto(0); }); // Pause autoscrolling if the user moves with the cursor over the clip. carousel.clip.hover(function() { carousel.stopAuto(); }, function() { carousel.startAuto(); }); }; jQuery(document).ready(function() { jQuery('#mycarousel').jcarousel({ auto: 2, wrap: 'circular', initCallback: mycarousel_initCallback }); }); </script>
4. Заходим в админку, находим модуль Новые регистрации и отображаем его там, где нужно.
Собственно сам архив — СКАЧАТЬ

Rossoman ,а может компонент "викторины" ;)
Дайте ссылку посмотреть
/** * Horizontal Buttons */ .jcarousel-skin-tango .jcarousel-next-horizontal { position: absolute; top: 43px; right: 5px; width: 32px; height: 32px; cursor: pointer; background: transparent url(next-horizontal.png) no-repeat 0 0; } .jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-next-horizontal { left: 5px; right: auto; background-image: url(prev-horizontal.png); } .jcarousel-skin-tango .jcarousel-next-horizontal:hover { background-position: -32px 0; } .jcarousel-skin-tango .jcarousel-next-horizontal:active { background-position: -64px 0; } .jcarousel-skin-tango .jcarousel-next-disabled-horizontal, .jcarousel-skin-tango .jcarousel-next-disabled-horizontal:hover, .jcarousel-skin-tango .jcarousel-next-disabled-horizontal:active { cursor: default; background-position: -96px 0; } .jcarousel-skin-tango .jcarousel-prev-horizontal { position: absolute; top: 43px; left: 5px; width: 32px; height: 32px; cursor: pointer; background: transparent url(prev-horizontal.png) no-repeat 0 0; } .jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-prev-horizontal { left: auto; right: 5px; background-image: url(next-horizontal.png); } .jcarousel-skin-tango .jcarousel-prev-horizontal:hover { background-position: -32px 0; } .jcarousel-skin-tango .jcarousel-prev-horizontal:active { background-position: -64px 0; } .jcarousel-skin-tango .jcarousel-prev-disabled-horizontal, .jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:hover, .jcarousel-skin-tango .jcarousel-prev-disabled-horizontal:active { cursor: default; background-position: -96px 0; } /** * Vertical Buttons */ .jcarousel-skin-tango .jcarousel-next-vertical { position: absolute; bottom: 5px; left: 43px; width: 32px; height: 32px; cursor: pointer; background: transparent url(next-vertical.png) no-repeat 0 0; } .jcarousel-skin-tango .jcarousel-next-vertical:hover { background-position: 0 -32px; } .jcarousel-skin-tango .jcarousel-next-vertical:active { background-position: 0 -64px; } .jcarousel-skin-tango .jcarousel-next-disabled-vertical, .jcarousel-skin-tango .jcarousel-next-disabled-vertical:hover, .jcarousel-skin-tango .jcarousel-next-disabled-vertical:active { cursor: default; background-position: 0 -96px; } .jcarousel-skin-tango .jcarousel-prev-vertical { position: absolute; top: 5px; left: 43px; width: 32px; height: 32px; cursor: pointer; background: transparent url(prev-vertical.png) no-repeat 0 0; } .jcarousel-skin-tango .jcarousel-prev-vertical:hover { background-position: 0 -32px; } .jcarousel-skin-tango .jcarousel-prev-vertical:active { background-position: 0 -64px; } .jcarousel-skin-tango .jcarousel-prev-disabled-vertical, .jcarousel-skin-tango .jcarousel-prev-disabled-vertical:hover, .jcarousel-skin-tango .jcarousel-prev-disabled-vertical:active { cursor: default; background-position: 0 -96px; }<script src="/templates/_default_/lib/jquery-1.4.2.min.js" type="text/javascript"></script>
Как разберусь скажу...
Соответственно число это количество объектов для отображения. Я делал модуль для своего проекта и мне настройки не нужны были, поэтому все просто. Может если время будет прикручу настройки к модулю, но пока я занят другим модулем интересным, который тоже на днях выложу, может даже сегодня.
<?php function mod_newreg($module_id){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); global $_LANG; $cfg = $inCore->loadModuleConfig($module_id); $sql = "SELECT u.*, p.imageurl, p.city, birthdate,(YEAR(CURRENT_DATE)-YEAR(birthdate))-(RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))AS age FROM cms_users u LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE u.is_deleted = 0 AND u.is_locked=0 ORDER BY u.regdate DESC LIMIT ".$cfg['newscount']." "; $result = $inDB->query($sql) ; $is_last_reg = false; if ($inDB->num_rows($result)){ $is_last_reg = true; $usrs = array(); if ($cfg['view_type']=='table' || $cfg['view_type']=='hr_table'){ if (!function_exists('usrImageNOdb')){ //if not included earlier include_once(PATH.'/components/users/includes/usercore.php'); } while($usr = $inDB->fetch_assoc($result)){ $usr['avatar'] = usrImageNOdb($usr['id'], 'small', $usr['imageurl'], $usr['is_deleted']); $usrs[] = $usr; } } if ($cfg['view_type']=='list'){ $total = $inDB->num_rows($result); while($usr = $inDB->fetch_assoc($result)){ $usrs[] = $usr; } $total_all = $inDB->rows_count('cms_users', 'is_deleted=0 AND is_locked=0'); } } $smarty = $inCore->initSmarty('modules', 'mod_newreg.tpl'); $smarty->assign('usrs', $usrs); $smarty->assign('cfg', $cfg); if ($cfg['view_type']=='list'){ $smarty->assign('total', $total); $smarty->assign('total_all', $total_all); } $smarty->assign('is_last_reg', $is_last_reg); $smarty->display('mod_newreg.tpl'); return true; } ?>