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

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

Добрый день.

Обновил сайт до 11,3

Хотел восстановить топ посетителей.Раньше для этого необходимо было открыть файл index.php

И под строкой

$tpl->load_template ( 'main.tpl' );

добавить строку

$tpl->set ('{topusers}', $tpl->result['glamusers']);

 

Открыл файл index.php

и не обнаружил там строки

$tpl->load_template ( 'main.tpl' );

 

Подскажите, где сейчас (в каком файле) находится этот оператор?

 

С уважением, Алексей.

Лицензии на сайты в аккаунте с тем же логином.

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

Спасибо большое. Действительно там. К сожалению, Топ комментаторов v2.1 by Glam отказался запускаться на DLE 11.3.

До этого работал отлично. Видимо, какие то переменные сменили название. Не подскажете, какие имена переменных в скрипте больше не актуальны и на какие нужно заменить?:

 

<?php
/*
=====================================================
 Топ комментаторов v2.1 by Glam
=====================================================
*/
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

$num = "10"; // сколько пользователей выводим в блоке?

$glamusers = dle_cache("glamusers", $config['skin']);
$sql = $db->query("SELECT user_id, name, foto, comm_num FROM ".PREFIX."_users order by comm_num DESC LIMIT 0,$num");
while ($row = $db->get_row($sql)) {
if ($config['allow_alt_url'] == "yes") {
$userlink = "<a href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">";
} else {
$userlink = "<a href=\"$PHP_SELF?subaction=userinfo&user=".urlencode($row['name'])."/\">";
}
if ($row['foto'] !== "")
$ava = "{$userlink}<img src=\"".$config['http_home_url']."uploads/fotos/".$row['foto']."\" align=\"center\" width=\"50\"></a>";
else
$ava = "{$userlink}<img src=\"{THEME}/images/noavatar.png\" align=\"center\" width=\"50\"></a>";
$nohtml = "'<[\/\!]*?[^<>]*?>'si";
$tpl->load_template('topusers.tpl');
$tpl->set('{ava}', $ava);
$tpl->set('{nickname}', $userlink.$row['name'].'</a>');
$tpl->set('{comm_num}', '<a href="/index.php?do=lastcomments&userid='.$row['user_id'].'">'.$row['comm_num'].'</a>');
$tpl->compile('glamusers');
$tpl->clear();
}
$db->free();
?>

 

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

или вот эту строку убери 

$glamusers = dle_cache("glamusers", $config['skin']);

или кеш создай

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

 

Не могу никак справиться со своим модулем.
Вставил, как надо, строку
 

$tpl->set ( '{topusers}', $tpl->result['glamusers'] );

в файл engine/modules/main.php :

$tpl->load_template ( 'main.tpl' );

$tpl->set ( '{topusers}', $tpl->result['glamusers'] );
$tpl->set ( '{calendar}', $tpl->result['calendar'] );
$tpl->set ( '{archives}', $tpl->result['archive'] );
$tpl->set ( '{tags}', $tpl->result['tags_cloud'] );
$tpl->set ( '{vote}', $tpl->result['vote'] );
$tpl->set ( '{topnews}', $tpl->result['topnews'] );
$tpl->set ( '{login}', $tpl->result['login_panel'] );
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );

Но скрипт отказывается отображаться в том месте, где в шаблоне установлен {topusers}
При этом, переменная $tpl->result['glamusers']  содержит правильный код ТОПа пользователей.

Вставлял для проверки оператор
echo $tpl->result['glamusers'];

ТОП пользователей успешно выводится внизу сайта.

Подскажите, в чем проблема? Может, есть какой то запрет на использование {topusers} ?

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

шаблон topusers.tpl в корне папки шаблона сделал?  теги {ava} {nickname} {comm_num} в нем есть?

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

конечно сделал. И уже давно. Этот скрипт работал на сайте много лет. Перестал работать только при обновлении DLE до 11.3

 

<table>
  <tr>
   <td class="topava">{ava}</td>
   <td><b>{nickname}</b><br>комментов: {commn_num}</td>
  </tr>
</table>

Все у уже перерыл. не могу понять, что в скрипте изменилось.

Ссылка на сообщение
Поделиться на других сайтах
<?php
if (!defined('DATALIFEENGINE')) {
	die("Hacking attempt!");}

$num       = "10"; // сколько пользователей выводим в блоке?

$glamusers = dle_cache("glamusers", $config['skin']);
if (!$glamusers) {
	$sql = $db->query("SELECT user_id, name, foto, comm_num FROM ".PREFIX."_users order by comm_num DESC LIMIT 0,$num");
	while ($row = $db->get_row($sql)) {
		if ($config['allow_alt_url'] == "yes") {
			$userlink = "<a href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">";
		} else {
			$userlink = "<a href=\"$PHP_SELF?subaction=userinfo&user=".urlencode($row['name'])."/\">";
		}
		if ($row['foto'] !== "")
		$ava = "{$userlink}<img src=\"".$config['http_home_url']."uploads/fotos/".$row['foto']."\" align=\"center\" width=\"50\"></a>";
		else
		$ava    = "{$userlink}<img src=\"{THEME}/images/noavatar.png\" align=\"center\" width=\"50\"></a>";
		$nohtml = "'<[\/\!]*?[^<>]*?>'si";
		$tpl->load_template('topusers.tpl');
		$tpl->set('{ava}', $ava);
		$tpl->set('{nickname}', $userlink.$row['name'].'</a>');
		$tpl->set('{comm_num}', '<a href="/index.php?do=lastcomments&userid='.$row['user_id'].'">'.$row['comm_num'].'</a>');
		$tpl->compile('glamusers');
	}
	$tpl->clear();
	$db->free();
}
create_cache( "glamusers", $glamusers, $config['skin'], true );
?>

 

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

Хз. Буду когда дле ставить, накидаю. Установленого, на котором проверить можно, нету. Поменяй просто вывод через tpl на вывод из модуля и вставь в main.tpl {include file="engine/modules/topusers.php"} да и все.

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

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

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

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

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

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

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

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

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

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