Why Not 35 Report post Posted August 10, 2015 Привет всем! Не нашел здесь этого маленького мода "вывод последних фото в профиле" Решил добавить. Только есть одно НО! Ребят, подскажите код чистки кэша для этого модуля. А то здесь получается что когда добавляешь или удаляешь какую нибудь фотографию из альбома, а в выводе она не обновляется автоматически. Вся проблема с кэшем как я понял. После чистки папки кэша все нормально выводится. Надеюсь вы меня поняли) И так, начнем. 1.Заходим в system/modules/profile.php Находим: //Семейное положение И выше вставляем: //Последние фотографии вывод if($sql_albums){ $sql_photos = $db->super_query("SELECT id,album_id,user_id,photo_name FROM `".PREFIX."_photos` WHERE user_id='{$id}' ORDER BY id DESC LIMIT 8",1, "user_{$id}/photos"); foreach($sql_photos as $rows){ $photos .= ' <a onclick="Photo.Show(this.href); return false" href="/photo'.$rows['user_id'].'_'.$rows['id'].'_'.$rows['album_id'].'"> <img src="/uploads/users/'.$rows['user_id'].'/albums/'.$rows['album_id'].'/c_'.$rows['photo_name'].'" width="100" style="float:left"> </a> '; } $tpl->set('[phet]', ''); $tpl->set('[/phet]', ''); $tpl->set('{five-photo}',$photos); }else{ $tpl->set_block("'\\[phet\\](.*?)\\[/phet\\]'si",""); } 2.Потом в profile.tpl в вашем шаблоне после обложки: [not-owner][cover]<div class="cover_all_user"><img src="{cover}" width="800" id="cover_img" {cover-param-5} /></div>[/cover][/not-owner] Вставляем вот это: [phet] <div style=";margin-right:-15px">{five-photo}</div> [/phet] ---------------- Здесь я сделал вывод последних 8 фоток в ширину 100px, кому надо правьте под себя. Делалось на vii 2.0 1 Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 10, 2015 Проблема решена. Выкладываю ниже второй вариант Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 10, 2015 Второй вариант. 1. В system/modules/profile.php найти: //Семейное положение И выше вставить: $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false);if ($photo_cnt['cnt']) {$sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 5",1);if($sql_photos_view) {foreach($sql_photos_view as $row_view_photos) {$photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:2px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"103\" ></a>";}} else {$photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>';}$tpl->set('{photos_view_albums}', $photos_view_albums);$tpl->set('[photos]', '');$tpl->set('[/photos]', '');$tpl->set('{photos_num}', $photo_cnt['cnt'].' '.gram_record($row['photos_num'], 'photos_num'));} else {$tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si",""); } 2. В templates/Default/profile.tpl найти: [audios]<div id="jquery_jplayer"></div><a href="audio{user-id}" onClick="Page.Go(this.href); return false"><div class="albtitle" style="margin-top:5px">{audios-num}<b id="gramTextAudios"></b><div class="mono_ico_audios" onmouseover="myhtml.title('8', 'Показать все аудиозаписи', 'newBBlockl')" id="newBBlockl8"></div></div>{audios}<div class="clear"></div></a>[/audios] И выше вставить: [photos]<a href="/albums/{user-id}" style="text-decoration:none" onclick="Page.Go(this.href); return false"><div class="albtitle" style="margin-top:5px">Фотографии<div class="mono_ico_albums" onMouseOver="myhtml.title('7', 'Показать все альбомы', 'newBBlockl')" id="newBBlockl7"></div> <span style="color: rgb(201, 201, 201);">{photos_num}</span></div></a><div class="" style="margin-top:5px;">{photos_view_albums}</div>[/photos] Что бы изменить количество последних фотографий, достаточно заменить 5 на необходимое число в DESC LIMIT 5",1 Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 10, 2015 Только в этом варианте не работают теги [photos] [/photos] Share this post Link to post Share on other sites
GreenMonster 1 Report post Posted August 10, 2015 Лол, уже второй раз воруете эти не рабочие коды последних фоток с того форума. Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 10, 2015 Лол, уже второй раз воруете эти не рабочие коды последних фоток с того форума. Почему же нерабочие? Недопиленные да Share this post Link to post Share on other sites
GreenMonster 1 Report post Posted August 10, 2015 Почему же нерабочие? Недопиленные да А там, откуда ты это взял - я в комментах подробно описал проблему. Share this post Link to post Share on other sites
AdVest 14 Report post Posted August 10, 2015 Че то много лишнего кода... Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 11, 2015 Привет всем! Не нашел здесь этого маленького мода "вывод последних фото в профиле" Решил добавить. Только есть одно НО! Ребят, подскажите код чистки кэша для этого модуля. А то здесь получается что когда добавляешь или удаляешь какую нибудь фотографию из альбома, а в выводе она не обновляется автоматически. Вся проблема с кэшем как я понял. После чистки папки кэша все нормально выводится. Надеюсь вы меня поняли) И так, начнем. 1.Заходим в system/modules/profile.php Находим: //Семейное положение И выше вставляем: //Последние фотографии вывод if($sql_albums){ $sql_photos = $db->super_query("SELECT id,album_id,user_id,photo_name FROM `".PREFIX."_photos` WHERE user_id='{$id}' ORDER BY id DESC LIMIT 8",1, "user_{$id}/photos"); foreach($sql_photos as $rows){ $photos .= ' <a onclick="Photo.Show(this.href); return false" href="/photo'.$rows['user_id'].'_'.$rows['id'].'_'.$rows['album_id'].'"> <img src="/uploads/users/'.$rows['user_id'].'/albums/'.$rows['album_id'].'/c_'.$rows['photo_name'].'" width="100" style="float:left"> </a> '; } $tpl->set('[phet]', ''); $tpl->set('[/phet]', ''); $tpl->set('{five-photo}',$photos); }else{ $tpl->set_block("'\\[phet\\](.*?)\\[/phet\\]'si",""); } 2.Потом в profile.tpl в вашем шаблоне после обложки: [not-owner][cover]<div class="cover_all_user"><img src="{cover}" width="800" id="cover_img" {cover-param-5} /></div>[/cover][/not-owner] Вставляем вот это: [phet] <div style=";margin-right:-15px">{five-photo}</div> [/phet] ---------------- Здесь я сделал вывод последних 8 фоток в ширину 100px, кому надо правьте под себя. Делалось на vii 2.0 То что с кешем, используйте его меньше будет нагрузка, а что бы чистилось делайте так в albums.php найдите: //Обновляем количество комментов у альбома $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num-1, comm_num = comm_num-{$row['comm_num']} {$set_cover} WHERE aid = '{$row['album_id']}'"); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$row['user_id']}/position_photos_album_{$row['album_id']}"); и замените на //Обновляем количество комментов у альбома $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num-1, comm_num = comm_num-{$row['comm_num']} {$set_cover} WHERE aid = '{$row['album_id']}'"); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$row['user_id']}/position_photos_album_{$row['album_id']}|user_{$row['user_id']}/photos"); если че отпишитесь Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 12, 2015 а с тегами то что во втором варианте? Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 12, 2015 а с тегами то что во втором варианте? Вроде должны работать Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 12, 2015 (edited) Вроде должны работать Ничего не изменилось) Смотри, если у человека нет альбомов, соответственно нет и фоток (картинок), то теги показываются вот так: [/photos] {photos_view_albums} [/photos] Edited August 12, 2015 by gundzha Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 12, 2015 Ничего не изменилось) Смотри, если у человека нет альбомов, соответственно нет и фоток (картинок), то теги показываются вот так: [/photos] {photos_view_albums} [/photos] Тип в место блока это? Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 12, 2015 Ничего не изменилось) Смотри, если у человека нет альбомов, соответственно нет и фоток (картинок), то теги показываются вот так: [/photos] {photos_view_albums} [/photos] ппц программисты почему в 2-х тегах слэш? Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 12, 2015 Давай я сегодня как приду выложу 101%(у меня рабочий ,у вас много не работает хз почему) рабочую такую фичу прямо в этой теме Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 12, 2015 Должен работать $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false); if ($photo_cnt['cnt']){ $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 6",1); if($sql_photos_view){ foreach($sql_photos_view as $row_view_photos) { $photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:1.5px;height: 75px;margin-top: 5px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"92\" ></a>"; } } else { $photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>'; } $tpl->set('{photos_view_albums}', $photos_view_albums); $tpl->set('[photos]', ''); $tpl->set('[/photos]', ''); $tpl->set('{photos_num}', $photo_cnt['cnt']); }else $tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si",""); Share this post Link to post Share on other sites
GreenMonster 1 Report post Posted August 12, 2015 Должен работать $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false); if ($photo_cnt['cnt']){ $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 6",1); if($sql_photos_view){ foreach($sql_photos_view as $row_view_photos) { $photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:1.5px;height: 75px;margin-top: 5px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"92\" ></a>"; } } else { $photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>'; } $tpl->set('{photos_view_albums}', $photos_view_albums); $tpl->set('[photos]', ''); $tpl->set('[/photos]', ''); $tpl->set('{photos_num}', $photo_cnt['cnt']); }else $tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si",""); А то, что в .тпл пихать? Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 12, 2015 А то, что в .тпл пихать? [photos] {photos_view_albums} [/photos] 1 Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 14, 2015 Должен работать $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false); if ($photo_cnt['cnt']){ $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 6",1); if($sql_photos_view){ foreach($sql_photos_view as $row_view_photos) { $photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:1.5px;height: 75px;margin-top: 5px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"92\" ></a>"; } } else { $photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>'; } $tpl->set('{photos_view_albums}', $photos_view_albums); $tpl->set('[photos]', ''); $tpl->set('[/photos]', ''); $tpl->set('{photos_num}', $photo_cnt['cnt']); }else $tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si",""); Хм, все равно не помогло, теги показываются Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted August 14, 2015 Должен работать $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false); if ($photo_cnt['cnt']){ $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 6",1); if($sql_photos_view){ foreach($sql_photos_view as $row_view_photos) { $photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:1.5px;height: 75px;margin-top: 5px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"92\" ></a>"; } } else { $photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>'; } $tpl->set('{photos_view_albums}', $photos_view_albums); $tpl->set('[photos]', ''); $tpl->set('[/photos]', ''); $tpl->set('{photos_num}', $photo_cnt['cnt']); }else $tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si",""); Хм, все равно не помогло, теги показываются У меня норм эт у вас где-то ошибки (понял по проблемам в привядущих темах) Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 14, 2015 У меня норм эт у вас где-то ошибки (понял по проблемам в привядущих темах) Может скинуть php файл? Share this post Link to post Share on other sites
Why Not 35 Report post Posted August 18, 2015 (edited) ахахах да все нормально посоны второй варик как раз таки и рабочий, просто реально не заметил такую фигню как лишний слеш сам в акуе Edited August 18, 2015 by gundzha 1 Share this post Link to post Share on other sites
Dusty 1 Report post Posted March 8, 2020 ау программеры хреновы, дайте норм инструкцию Share this post Link to post Share on other sites
xuyasdas324524 0 Report post Posted March 9, 2020 15 часов назад, artem201920191 сказал: ау программеры хреновы, дайте норм инструкцию согласен ничерта не понятно Share this post Link to post Share on other sites