вопрос
есть вот такой запрос
Он выводит новости из закладок пользователя, допустим я хочу сделать модуль, который будет выводить закладки пользователя, но не пойму как сделать, если я захожу в профиль пользователя с этим запросом он выводит мне мои же закладки, а мне бы хотелось что бы он мне показал его закладки... вот тут у меня загвоздка... буду рад если напишете мне запрос правильный
if($member_id['favorites'] > 0) {
$db->query("SELECT id, short_story, title, flag FROM " . PREFIX . "_post WHERE id IN ({$member_id['favorites']}) ORDER BY date DESC LIMIT 0,$f");
Он выводит новости из закладок пользователя, допустим я хочу сделать модуль, который будет выводить закладки пользователя, но не пойму как сделать, если я захожу в профиль пользователя с этим запросом он выводит мне мои же закладки, а мне бы хотелось что бы он мне показал его закладки... вот тут у меня загвоздка... буду рад если напишете мне запрос правильный
1. Открыть /engine/modules/profile.php и после:
з.ы. Вышеприведенный код - элементарный набросок, но от него можно отталкиваться. Добавить, например, кэширование и разнообразные параметры. Также можно посидеть немного дольше и сделать полноценный модуль выводящий закладки любого пользователя в любом месте сайта...
Моя, расширенная, публикация: http://firstvector.org/broken/sandbox/49
while ( $row = $db->get_row( $sql_result ) ) {добавить:
$q = "SELECT * FROM ". PREFIX ."_post p LEFT JOIN ". PREFIX ."_post_extras e ON (p.id=e.news_id) WHERE p.id IN ({$row['favorites']})";2. Открыть /engine/modules/functions.php и перед:
if (stripos($tpl->copy_template, '{favorites') !== false) $tpl->copy_template = preg_replace("#\\{favorites template=\"(.+?)\"\\}#ies", "userFavorites('{$q}', '\\1')", $tpl->copy_template);
function totranslit($var, $lower = true, $punkt = true) {добавить:
function userFavorites($query, $template) {3. Открыть /templates/Default/userinfo.tpl и в любое место вставить макрос:
global $db;
$tpl = new dle_template();
$tpl->dir = TEMPLATE_DIR;
$sql_select = $query;
$custom_template = $template;
include (ENGINE_DIR . '/modules/show.custom.php');
return $tpl->result['content'];
}
{favorites template="shortstory"}Где "shortstory" - шаблон при помощи которого будут отображаться посты из закладок пользователя, профиль которого просматривается.
з.ы. Вышеприведенный код - элементарный набросок, но от него можно отталкиваться. Добавить, например, кэширование и разнообразные параметры. Также можно посидеть немного дольше и сделать полноценный модуль выводящий закладки любого пользователя в любом месте сайта...
Моя, расширенная, публикация: http://firstvector.org/broken/sandbox/49