X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как вывести список пользователей?, Перенос функции из админки
Loader
сообщение 2011-03-14, 9:26
Сообщение #1
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


При добавлении новости есть такая вот возможность вывести список пользователей:



Но при попытке перенести эту функцию в модуль "Персональные сообщения" для удобного выбора получателя получается ошибка "страница не найдена!"
Делал всё так: перенёс в нужное мне место код код:

<a href="#" title="Выбрать пользователя" onclick="var h=380,w=360;window.open(\''
//			.str_replace('modules','management',$Mainclass->admin_prefix.$Mainclass->Url->GetDel())
			.$Mainclass->Url->ConstructUrl(array('module'=>'users','do'=>'userlist','unique'=>$uniq),false).'\',\'\',\'height=\'+h+\',width=\'+w+\',toolbar=no,menubar=no,location=no,scrollbars=no,focus=yes,top=\'+Math.round((screen.height-h)/2)+\',left=\'+Math.round((screen.width-w)/2)); return false;"> <img src="'.$Mainclass->Template->GetImage('select_users.png').'" width="16" height="16" alt="" /></a>


Перейти в начало страницы
+Цитировать сообщение
KeSSLeR
сообщение 2011-03-14, 12:04
Сообщение #2
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 483
Регистрация: 2010-02-11
Версия системы: RC5

Репутация:   нет  
Всего: нет


Значит какойто кусок кода потерял.
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-03-14, 14:00
Сообщение #3
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (KeSSLeR @ 2024-03-29 02:18)
Значит какойто кусок кода потерял.

Да не кусок! УРЛ получается неправильный! Это ж выдрано из админской части!
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-03-14, 19:00
Сообщение #4
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Loader, Вы пытаетесь перенести из Админки в Пользовательскую часть?
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-03-14, 20:11
Сообщение #5
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2011-03-14, 19:00)
Loader, Вы пытаетесь перенести из Админки в Пользовательскую часть?


Пытаюсь! Этот список используется в админке, хочу прикрутить его к модулю "Персональные сообщения" для выбора адресата!
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-03-14, 21:33
Сообщение #6
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Loader, в файле addons/adminka/modules/users.php в самом низу найдете функцию, которая генерирует этот список.
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-03-14, 22:19
Сообщение #7
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2024-03-29 02:18)
Loader, в файле addons/adminka/modules/users.php в самом низу найдете функцию, которая генерирует этот список.

О, это просто чудно!
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-03-14, 22:48
Сообщение #8
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Функция это канеш хорошо...но как бы стандартное средство как в админке прикрутить? :o
Получается что надо создавать как-то временную страницу с пользователями - а как? Не писать же модуль "Пользователи"



Сообщение отредактировал Loader - 2011-03-14, 22:57
Перейти в начало страницы
+Цитировать сообщение
termit
сообщение 2011-03-15, 1:19
Сообщение #9
Опытный
Иконка группы

Группа: Бета-тестеры
Сообщений: 705
Регистрация: 2009-06-02
Из: Житомир

Репутация:   нет  
Всего: 11


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

global $Mainclass;
	$per_page=30;
	$Mainclass->Url->SetPrefix(array('do'=>'userlist','unique'=>isset($_GET['unique']) ? $_GET['unique'] : ''),true);
	$page=isset($_GET['page']) ? (int)$_GET['page'] : 1;
	if($page<=0)
		$page=1;
	$offset=abs(($page-1)*$per_page);
	$result=array();
	$n=$offset+1;
	$Mainclass->Db->Query('SELECT `id`, `name` FROM `f_users` '.$query.' LIMIT '.$offset.', '.$per_page,__file__,__line__);
	while($arr=$Mainclass->Db->Fetch_assoc())
	{
		$arr['name']=htmlspecialchars($arr['name'],ENT_QUOTES);
		$result[]=$n.'. <a href="#" onclick="return SelectUser(\''.$arr['name'].'\',\''.$arr['id'].'\')">'.$arr['name'].'</a>';
		$n++;
	}
	$notfound=$total==0 ? '<tr><td colspan="3" aling="center"><b>'.$Mainclass->lang['users']['users_not_found'].'</b></td></tr>'</span>; : '';
	$part1=array_splice($result,0,10);
	$part2=array_splice($result,0,10);
	$part3=array_splice($result,0,10);
	$pages=Strings::Pages($total,$per_page,$links);
	$content='
<style type="text/css">
	:link, :visited { color: #ff5a00; text-decoration: none; }
	:link:hover, :visited:hover { color: #ff9600; text-decoration: none; }
	ul { margin: 2px 0; padding: 0 0 0 5px; }
	ul li { margin: 5px 0; padding: 0px 0 0px 14px; list-style-type: none; background: none; }
	h2 { font-size: 18px; font-weight: normal; line-height: 133%; margin: 0.5em 0 0.2em 0; }
	input, textarea, select { font-size: 11px; font-family: Tahoma, Helvetica, sans-serif; }
	body, td, div, li { color: #6d6a65; font-size: 11px; font-family: Tahoma, Helvetica, sans-serif; }
	body { text-align: left; height: 100%; line-height: 142%; padding: 0; margin: 20px; background-color: #FFFFFF; }
	.clr {clear:both;}
	hr	{ height: 1px; border: solid #d8d8d8 0px; border-top-width: 1px; }
</style>
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
function SelectUser(name,id)
{
	var unique="'.(isset($_GET['unique']) ? $_GET['unique'] : '').'";
	$("#"+unique,window.opener.document).find("input:first").val(name).end().find("input:last").val(id);
	window.close();
	return false;
}
</script>
<table border="0" width="100%" cellpadding="0" cellspacing="5"><tr>
	<td colspan="3"><h2>'.$Mainclass->lang['users']['users_list'].'</h2><hr /></td>
	</tr>'.$notfound.'
	<tr>
	<td>
		<ul>
			<li>'.implode('</li><li>',$part1).'</li>
		</ul>
	</td>
	<td>
		<ul>
			<li>'.implode('</li><li>',$part2).'</li>
		</ul>
	</td>
	<td>
		<ul>
			<li>'.implode('</li><li>',$part3).'</li>
		</ul>
	</td>
	</tr>
	<tr>
	<td colspan="3">'.$pages.'
			<div class="clr"></div>
		<hr />
	</td>
</tr>
</table>';

	echo $content; 


P.S. Не забываем [php]

Сообщение отредактировал termit - 2011-03-15, 3:19
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-03-15, 11:19
Сообщение #10
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (termit @ 2024-03-29 02:18)
Вот нужный вам код. просто вставьте в стат страницу, или откройте явой

На статических страницах такие вещи сроду не работали!
А как вы представляете открыть это явой?
Нужно не изобретать велосипед, а использовать стандартный код:
<a href="#" title="Выбрать пользователя" onclick="var h=380,w=360;window.open(\''
.$Mainclass->Url->ConstructUrl(array('module'=>'users','do'=>'userlist','unique'=>$uniq),false).'\',\'\',\'</span>height=\'+h+\',width=\'+w+\',toolbar=no,menubar=no,location=no,scrollbars=no,focus=yes,top=\'+Math.round((screen.height-h)/2)+\',left=\'+Math.round((screen.width-w)/2)); 
return false;"> <img src="'.$Mainclass->Template->GetImage('select_users.png').'" width="16" height="16" alt="" /></a>

Только сделать так, чтобы его можно было использовать не только админу, но и простому зарегистрированному пользователю.


Сообщение отредактировал Loader - 2011-03-15, 11:20
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-03-15, 14:09
Сообщение #11
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Написал из функции модуль "Пользователи" для его открытия явой в окне.
Но опять проблема! Везде страницы работают коррктно, но вот именно в этом модуле корректно работать они не хотят!
При каждом клике на страницу УРЛ растёт на один /userlist/
Вот так:



Хня какая-то...

Сообщение отредактировал Loader - 2011-03-15, 14:10
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-04, 22:43
Сообщение #12
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


И всё-таки хотелось бы узнать ответ... :rolleyes:
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-08-04, 23:05
Сообщение #13
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Loader, используйте тег <base href="" /> - тогда не будет такой безразмерной вложенности
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-05, 15:25
Сообщение #14
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2024-03-29 02:18)
Loader, используйте тег <base href="" /> - тогда не будет такой безразмерной вложенности

Спасибо, помогло!
Есть ещё вопрос: как "сконструировать" "временный" УРЛ?
Ну типа такого, который при поиске новостей используется:
Цитата
_http://pda-kino.net/news/search_a186c5cc2424fb14c549770201ab09d8.html

Просто список пользователей на него надо как-то "повесить"...

Сообщение отредактировал Loader - 2011-08-05, 15:26
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0347 сек.    11 запросов    GZIP включен    Сейчас: 2024-03-29, 2:18