Перейти к публикации

Новые пользователи (последние зарегистрированные)


Рекомендованные сообщения

Нашел модуль, который отображает последних зарегистрированных пользователей.

Но он отображает только в файле 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();

?>

Заранее благодарен.

Ссылка на сообщение
Поделиться на других сайтах

Зачем такие сложности, есть же методика без правки кода описанная в документации

{include file="engine/modules/mymod.php"}

в mymod.php должен быть вывод через echo.

Изменено пользователем Wanderers
Ссылка на сообщение
Поделиться на других сайтах

В свой шаблон *.tpl в нужное место вставляете {include file="engine/modules/lastusers.php"}

В css как в оригинале.

И в самом модуле пишите echo $lastusers;

Если конечно модуль работает, так как очередность закрытия тегов настораживает(сам код не смотрел):

$lastusers .= "</table>";

$lastusers .= "</tr>";

надо:

$lastusers .= "</tr></table>";

Например на сайте starposad.ru слева внизу.

Изменено пользователем Wanderers
Ссылка на сообщение
Поделиться на других сайтах

Большое спасибо! Сделал так как Вы сказали и всё прекрасно заработало!

строку

$lastusers = dle_cache("lastusers", $config['skin']);[/CODE]

можете выкинуть, кэшу неоткуда взяться, нет create_cache :)

Изменено пользователем Wanderers
Ссылка на сообщение
Поделиться на других сайтах

Все равно чтото не так.

В шаблон 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>";

то новые пользователи эти появляются в самом вверху страницы и отображаются на всех страницах.

Мне нужно чтобы они отображались только в отведенном для них месте на странице статистики. Увы показать сайт не могу, т.к. распологается на денвере. Но могу написать сюда соержимое олюбого файла которго скажите.

Заранее благодарен за помощ в поиске ответов.

Ссылка на сообщение
Поделиться на других сайтах

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

Как у вас располагаются пользователи, в строку в столбец, по 2,3 в строку столбцом, что надо получить, отсюда и верстка.

строку $lastusers = '<table class="lastusers"><tr>'; поставьте выше while, тогда будет таблица с 1 строкой и 9 ячейками в ней.

Изменено пользователем Wanderers
Ссылка на сообщение
Поделиться на других сайтах

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

Как у вас располагаются пользователи, в строку в столбец, по 2,3 в строку столбцом, что надо получить, отсюда и верстка.

строку $lastusers = '<table class="lastusers"><tr>'; поставьте выше while, тогда будет таблица с 1 строкой и 9 ячейками в ней.

Wanderers - там тот модуль кривой был, я на него уже натыкался -)

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...