Vabik 1 Опубликовано: 13 января 2012 Рассказать Опубликовано: 13 января 2012 Нашел модуль, который отображает последних зарегистрированных пользователей. Но он отображает только в файле main.tpl . А вот если вставляю его тег в stats.tpl то там он не работает. Подскажите, пожалуйста, как его прописать чтобы он показывал этот блок на странице просмотра статистики? Например внизу статистики. Вот инуструкция, которая была в архиве: //////////////////////////////////////////// * Модуль: lastusers v.2.0 * (Последние зарегистрированные пользователи) * Автор: SX2 * * Сайт поддержки: http://webrelizz.com/ * ///////////////////////////////////////////// DataLife Engine 9.0/9.2/9.3/9.4 //////////////////////////////////////////// Установка: /////////////////////////////////////////// 1. Загружаєм lastusers.php в engine/modules /////////////////////////////////////////// 2. Открываем index.php и ищем: /////////////////////////////////////////// require_once ROOT_DIR . '/engine/init.php'; ////////////////////////////////////////// 3. Вставляем ниже: ///////////////////////////////////////// require_once ROOT_DIR . '/engine/modules/lastusers.php'; ///////////////////////////////////////// 4. Ищем там же: //////////////////////////////////////// $tpl->load_template('main.tpl'); //////////////////////////////////////// 5. Вставляем ниже: //////////////////////////////////////// $tpl->set ( '{lastusers}', $lastusers); //////////////////////////////////////// 6. Заходим в ваш шаблон в main.tpl, вставляем {lastusers} в удобное для вас место. /////////////////////////////////////// 7. Вставьте CSS код в конец вашего файла стилей /css/style.css /////////////////////////////////////// /*---Последние пользователи---*/ .lastusers {display: inline-block; padding: 2px;} .lastusers img {padding: 5px; border: 1px solid #E7E5E0;} /*---Последние пользователи-END---*/ /////////////////////////////////////// А вот сам файлик lastusers.php <?php /* ===================================================== The module for DataLife Engine from SX2. ----------------------------------------------------- http://webrelizz.com/ ----------------------------------------------------- Copyright (c) 2011 SX2 ===================================================== Данный код защищен авторскими правами ===================================================== Файл: lastusers.php ----------------------------------------------------- Назначение: Вывод списка последних зарегистрированных пользователей ===================================================== */ if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } $lastusers = dle_cache("lastusers", $config['skin']); $sql = $db->query("SELECT name, foto FROM ".PREFIX."_users order by user_id DESC LIMIT 0,9"); while ($row = $db->get_row($sql)) { $lastusers .= "<table class='lastusers'>"; $lastusers .= "<tr>"; //// формирование ссылки //// if ($config['allow_alt_url'] == "yes") { $lastusers_user_link = "<a href=\"/user/".urlencode($row['name'])."/\" onclick=\"ShowProfile('".urlencode($row['name'])."', '/user/".urlencode($row['name'])."/'); return false;\"><center>{$row['name']}</center>"; } else { $lastusers_user_link = "<a href=\"$PHP_SELF?subaction=userinfo&user=".urlencode($row['name'])."\""; } //// аватар //// if ($row['foto'] !== "") $lastusers .= "<td class=\"lastusers\">{$lastusers_user_link}<img src=\"".$config['http_home_url']."uploads/fotos/".$row['foto']."\" align=\"center\" width=\"50\"></a></td>"; else $lastusers .= "<td class=\"lastusers\">{$lastusers_user_link}<img src=\"{THEME}/images/noavatar.png\" align=\"center\" width=\"50\"></a></td>"; } $lastusers .= "</table>"; $lastusers .= "</tr>"; $db->free(); ?> Заранее благодарен. Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 13 января 2012 Рассказать Опубликовано: 13 января 2012 (изменено) Зачем такие сложности, есть же методика без правки кода описанная в документации {include file="engine/modules/mymod.php"} в mymod.php должен быть вывод через echo. Изменено 13 января 2012 пользователем Wanderers 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Vabik 1 Опубликовано: 13 января 2012 Рассказать Опубликовано: 13 января 2012 Автор Я если чесно, то не понял Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 13 января 2012 Рассказать Опубликовано: 13 января 2012 (изменено) В свой шаблон *.tpl в нужное место вставляете {include file="engine/modules/lastusers.php"} В css как в оригинале. И в самом модуле пишите echo $lastusers; Если конечно модуль работает, так как очередность закрытия тегов настораживает(сам код не смотрел): $lastusers .= "</table>"; $lastusers .= "</tr>"; надо: $lastusers .= "</tr></table>"; Например на сайте starposad.ru слева внизу. Изменено 13 января 2012 пользователем Wanderers 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Vabik 1 Опубликовано: 13 января 2012 Рассказать Опубликовано: 13 января 2012 Автор Большое спасибо! Сделал так как Вы сказали и всё прекрасно заработало! Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 13 января 2012 Рассказать Опубликовано: 13 января 2012 (изменено) Большое спасибо! Сделал так как Вы сказали и всё прекрасно заработало! строку $lastusers = dle_cache("lastusers", $config['skin']);[/CODE] можете выкинуть, кэшу неоткуда взяться, нет create_cache Изменено 13 января 2012 пользователем Wanderers 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Vabik 1 Опубликовано: 14 января 2012 Рассказать Опубликовано: 14 января 2012 Автор Все равно чтото не так. В шаблон stats.tpl вставил {include file="engine/modules/lastusers.php"} Сам модуль /lastusers.php выглядит так: <?php /* ===================================================== The module for DataLife Engine from SX2. ----------------------------------------------------- http://webrelizz.com/ ----------------------------------------------------- Copyright (c) 2011 SX2 ===================================================== Данный код защищен авторскими правами ===================================================== Файл: lastusers.php ----------------------------------------------------- Назначение: Вывод списка последних зарегистрированных пользователей ===================================================== */ if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } $sql = $db->query("SELECT name, foto FROM ".PREFIX."_users order by user_id DESC LIMIT 0,9"); while ($row = $db->get_row($sql)) { $lastusers .= "<table class='lastusers'>"; $lastusers .= "<tr>"; //// формирование ссылки //// if ($config['allow_alt_url'] == "yes") { $lastusers_user_link = "<a href=\"/user/".urlencode($row['name'])."/\" onclick=\"ShowProfile('".urlencode($row['name'])."', '/user/".urlencode($row['name'])."/'); return false;\"><center>{$row['name']}</center>"; } else { $lastusers_user_link = "<a href=\"$PHP_SELF?subaction=userinfo&user=".urlencode($row['name'])."\""; } //// аватар //// if ($row['foto'] !== "") $lastusers .= "<td class=\"lastusers\">{$lastusers_user_link}<img src=\"".$config['http_home_url']."uploads/fotos/".$row['foto']."\" align=\"center\" width=\"50\"></a></td>"; else $lastusers .= "<td class=\"lastusers\">{$lastusers_user_link}<img src=\"{THEME}/images/noavatar.png\" align=\"center\" width=\"50\"></a></td>"; } $lastusers .= "</tr></table>"; $db->free(); ?> Если внизу прописываю так: echo $lastusers .= "</tr></table>"; то новые пользователи эти появляются в самом вверху страницы и отображаются на всех страницах. Мне нужно чтобы они отображались только в отведенном для них месте на странице статистики. Увы показать сайт не могу, т.к. распологается на денвере. Но могу написать сюда соержимое олюбого файла которго скажите. Заранее благодарен за помощ в поиске ответов. Цитата Ссылка на сообщение Поделиться на других сайтах
Wanderers 17 Опубликовано: 14 января 2012 Рассказать Опубликовано: 14 января 2012 (изменено) В коде бред, я же писал, в цикле открываются теги таблицы а завершаются один раз, сделайте нормально весрстку. Как у вас располагаются пользователи, в строку в столбец, по 2,3 в строку столбцом, что надо получить, отсюда и верстка. строку $lastusers = '<table class="lastusers"><tr>'; поставьте выше while, тогда будет таблица с 1 строкой и 9 ячейками в ней. Изменено 14 января 2012 пользователем Wanderers 1 Цитата Ссылка на сообщение Поделиться на других сайтах
DimkaG 5 Опубликовано: 17 января 2012 Рассказать Опубликовано: 17 января 2012 В коде бред, я же писал, в цикле открываются теги таблицы а завершаются один раз, сделайте нормально весрстку. Как у вас располагаются пользователи, в строку в столбец, по 2,3 в строку столбцом, что надо получить, отсюда и верстка. строку $lastusers = '<table class="lastusers"><tr>'; поставьте выше while, тогда будет таблица с 1 строкой и 9 ячейками в ней. Wanderers - там тот модуль кривой был, я на него уже натыкался -) Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.