0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 2630 Просмотров
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Почему-то очень неудобно реализована функция func,special/sorting,owner сортировщика фото по автору в виде 10 последних загруженых изображений.
Кто-нибуть пробовал реализовать просмотр не только последних 10 фото автора, но и всех, которые он загрузил по 10 штук на страницу?
« Последнее редактирование: 21.09.2009, 18:29:01 от mijsvit »
*

beliyadm

  • Moderator
  • 9512
  • 1651 / 66
  • Севастополь == Россия
Элементарно, Ватсон
Файл sub_viewspecial.php, находим
case 'owner':
...
break; 

и заменяем все что там на следующий код:

    
case 'owner':
    
$database->setQuery("select username from #__users where id = '$op'");
	
$imgowner $database->loadResult();
        
//чтение значений параметров
	
$limit intvalmosGetParam$_REQUEST'limit'$ad_toplist ) );
	
$limitstart intvalmosGetParam$_REQUEST'limitstart') );
        
//считаем общее количество
	
$database->setQuery("select count(*) from #__datsogallery where owner = '$imgowner'");
	
$total $database->loadResult();
	
//подключаем файл pageNavigation.php
	
require_once( 
$GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
	
$pageNav = new mosPageNav$total$limitstart$limit );
    
//запрос в БД и добавляем
    
$database->setQuery("select * "
	
" from #__datsogallery as a, #__datsogallery_catg "
	
" as ca where a.catid=ca.cid "
	
" and a.published=1 and a.owner = '$imgowner' and a.approved=1 and ca.published=1 and ca.access<=$gid "
	
" order by a.id desc limit $limitstart$limit");
	
$tl_title $ad_toplist " ._DG_NEW_PIC." "._DG_FROM_USER.$imgowner";
        
$pw_title $ad_toplist " ._DG_NEW_PIC." "._DG_FROM_USER.$imgowner";
   
	
$link "index.php?option=com_datsogallery&func=special&sorting=owner&op=$op";
   
	
echo 
$pageNav->writePagesLinks$link );
    break;

Количество выводимых картинок лежит в $ad_toplist, что выставляется в админке, вкладка ВИД -> "Топ-список на страницу:"
Аналогично постраничную разбивку можно добавить с любую другую опцию из панели (лучше, популярные, комменты)

P.S. только что заметил еще одну глупость кода - в таблице #__datsogallery идентификатором пользователя (владельца фотографии) служит почему то username, вместо его ID - как следствие лишние запросы и прочие неудобства :)

Хотя давайте оптимизируем еще немного код для очистки совести:

    
case 'owner':
    
//чтение значений параметров
	
$limit intvalmosGetParam$_REQUEST'limit'$ad_toplist ) );
	
$limitstart intvalmosGetParam$_REQUEST'limitstart') );
        
//считаем общее количество и сразу же имя автора
	
$database->setQuery("select count(*) AS count, d.owner as owner from #__datsogallery as d
	
JOIN #__users as u on u.username = d.owner where u.id = '
$op' GROUP BY d.owner ");
	
$database->LoadObject($row);
	
$total $row->count;
	
$imgowner $row->owner;
	
//подключаем файл pageNavigation.php
	
require_once( 
$GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
	
$pageNav = new mosPageNav$total$limitstart$limit );
    
//запрос в БД и добавляем
    
$database->setQuery("select a.*, ca.* from #__datsogallery as a "
    
" JOIN #__datsogallery_catg as ca ON a.catid=ca.cid "
    
" JOIN #__users AS u ON u.id = '$op' "
	
" WHERE a.published=1 and a.approved=1 and ca.published=1 and ca.access<=$gid "
	
" order by a.id desc limit $limitstart$limit");
	
$tl_title $ad_toplist " ._DG_NEW_PIC." "._DG_FROM_USER.$imgowner";
        
$pw_title $ad_toplist " ._DG_NEW_PIC." "._DG_FROM_USER.$imgowner";
   
	
$link "index.php?option=com_datsogallery&func=special&sorting=owner&op=$op";
   
	
echo 
$pageNav->writePagesLinks$link );
    break;

На мой взгляд второй вариант будет правильней
« Последнее редактирование: 10.08.2008, 15:49:30 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
beliyadm, спасибо большое! Аж не ожидал полностью все решение получить :)
Второй вариант почему-то не работает в 1,6 потому использовал первый - все отлично!
« Последнее редактирование: 10.08.2008, 21:27:56 от mijsvit »
*

Peroon

  • Захожу иногда
  • 247
  • 11 / 1
  • http://textonix.ru
есть маленький недочет
в выборке со счетчиком считаются все картинки (не одобренные администрацией и запрещенные к показу), как следствие - неверный счетчик.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Загружаю новое фото а показывает другое фото

Автор sknc

Ответов: 0
Просмотров: 1724
Последний ответ 21.11.2015, 21:30:42
от sknc
Сортировка категорий (альбомов)

Автор vaganov

Ответов: 0
Просмотров: 1806
Последний ответ 25.06.2015, 14:07:49
от vaganov
Лишние поля при загрузке фото DatsoGallery Joomla 2.5

Автор lelonko

Ответов: 1
Просмотров: 2239
Последний ответ 10.03.2015, 13:17:41
от kikimora17
Управление авто-заполнением полей в профиле фото

Автор kikimora17

Ответов: 0
Просмотров: 1857
Последний ответ 06.03.2015, 14:26:54
от kikimora17
Помогите убрать опцию СОРТИРОВКА в Datso Gallary

Автор Golubevod

Ответов: 3
Просмотров: 2358
Последний ответ 23.12.2013, 10:45:57
от novoross