Jump to content

Выводим последние фотографии


Recommended Posts

Привет всем! 

Не нашел здесь этого маленького мода "вывод последних фото в профиле"

Решил добавить. Только есть одно НО! Ребят, подскажите код чистки кэша для этого модуля. А то здесь получается что когда добавляешь или удаляешь какую нибудь фотографию из альбома, а в выводе она не обновляется автоматически. Вся проблема с кэшем как я понял. После чистки папки кэша все нормально выводится. Надеюсь вы меня поняли)

 

И так, начнем.

 

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
  • Upvote 1
Link to comment
Share on other sites

Второй вариант.

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

Link to comment
Share on other sites

 

Привет всем! 

Не нашел здесь этого маленького мода "вывод последних фото в профиле"

Решил добавить. Только есть одно НО! Ребят, подскажите код чистки кэша для этого модуля. А то здесь получается что когда добавляешь или удаляешь какую нибудь фотографию из альбома, а в выводе она не обновляется автоматически. Вся проблема с кэшем как я понял. После чистки папки кэша все нормально выводится. Надеюсь вы меня поняли)

 

И так, начнем.

 

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");

если че отпишитесь

Link to comment
Share on other sites

Вроде должны работать

Ничего не изменилось) Смотри, если у человека нет альбомов, соответственно нет и фоток (картинок), то теги показываются вот так: 

[/photos]

{photos_view_albums}

[/photos]

Edited by gundzha
Link to comment
Share on other sites

Ничего не изменилось) Смотри, если у человека нет альбомов, соответственно нет и фоток (картинок), то теги показываются вот так:

[/photos]

{photos_view_albums}

[/photos]

ппц программисты почему в 2-х тегах слэш?
Link to comment
Share on other sites

Должен работать

             $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","");
Link to comment
Share on other sites

 

Должен работать

             $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","");

А то, что в .тпл пихать?

Link to comment
Share on other sites

 

Должен работать

             $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","");

Хм, все равно не помогло, теги показываются

Link to comment
Share on other sites

 

 

 

Должен работать

             $photo_cnt = $db-&gt;super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false);
             if ($photo_cnt['cnt']){
             $sql_photos_view = $db-&gt;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 .= "&lt;a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"&gt;&lt;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\" &gt;&lt;/a&gt;";
             }
              } else {
              $photos_view_albums = '&lt;br&gt;&lt;div class="info_center"&gt;Нет загруженных фотографий.&lt;/div&gt;';
              }
                $tpl-&gt;set('{photos_view_albums}', $photos_view_albums);
                $tpl-&gt;set('[photos]', '');
             $tpl-&gt;set('[/photos]', '');
              $tpl-&gt;set('{photos_num}', $photo_cnt['cnt']);   
                  }else
             $tpl-&gt;set_block("'\\[photos\\](.*?)\\[/photos\\]'si","");
Хм, все равно не помогло, теги показываются
У меня норм эт у вас где-то ошибки (понял по проблемам в привядущих темах)
Link to comment
Share on other sites

ахахах да все нормально посоны :D  второй варик как раз таки и рабочий, просто реально не заметил такую фигню как лишний слеш :lol:  сам в акуе :rolleyes:

Edited by gundzha
  • Downvote 1
Link to comment
Share on other sites

  • 4 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...