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

beliyadm

  • Moderator
  • 9758
  • 1664 / 66
  • Севастополь, Россия
По просьбе пользователя ice300man набросал добавление постраничной навигации в страницы галереи ( Популярные | Лучшие | Новые | Комментарии)
Немного теории. Статья официальной вики Using JPagination in your component
Работать будем с файлом components\com_datsogallery\sub_viewspecial.php
В самое начало файла добавляем вызов родного класса навигации, кол-во выводимых на страницу берем из настроек галереи "Топ-список на страницу"
Код: php
jimport('joomla.html.pagination');
$limit  = $ad_toplist;
$limitstart  = JRequest::getVar('limitstart', 0, 'int');
$page_nav_links ='';
После в каждый case (кроме find) добавляем дополнительный запрос на получение общего количества изображений, удовлетворяющих условиям, создаем новый объект класса JPagination.
Пример для case 'rating'
Код: php
$query = "SELECT count(*) AS count FROM #__datsogallery WHERE imgvotes > 0 AND published=1 AND approved=1 ";
$db->setQuery($query);
$row = $db->LoadObject();
$total = $row->count;
$pageNav = new JPagination( $total, $limitstart, $limit );
$page_nav_links = $pageNav->getPagesLinks();
В самом запросе заменяем параметр LIMIT на limit $limitstart, $limit

Все, теперь добавив в вывод нашу переменную мы получаем постраничную навигацию. Я добавил после закрытия общего </table>
Код: php
<?php echo $page_nav_links; ?>

В вложении модифицированный файл sub_viewspecial.php, достаточно просто заменить стандартный (не забываем про резервную копию)


Пример работы на одном из сайтов для раздела фотографий конкретного автора (там добавлена нестандартная опция просмотра авторов по алфавиту, это конкретная доработка под проект)

P.S. и когда уже Андрей перепишет привязку картинки к автору по ID а не по username, ведь это дебилизм полный

[вложение удалено Администратором]
« Последнее редактирование: 21.09.2009, 16:04:32 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm

Спасибо вам спасибо.
 *DRINK* :D ;) ;)
Вы очень добры .
Спасибо вам спасибо еще раз.
*

Peroon

  • Захожу иногда
  • 247
  • 11 / 1
  • http://textonix.ru
Цитировать
P.S. и когда уже Андрей перепишет привязку картинки к автору по ID а не по username, ведь это дебилизм полный

Тут вопрос спорный. если сделать авторов по ID то нужно будет тащить отдельную таблицу, а часто, при копипейсте фоты размещают не авторы.
*

beliyadm

  • Moderator
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Тут вопрос спорный. если сделать авторов по ID то нужно будет тащить отдельную таблицу, а часто, при копипейсте фоты размещают не авторы.
не понял, зачем тащить отдельную таблицу?
У нас в таблице картинок есть поле owner, там сейчас прописывается имя пользователя, загрузившего изображение.
Если пользователь имя сменил - объект отвязывается от него.
При загрузке отлавливать $user-id а не $user->name и все будет прекрасно (ну и переписать пару опций вывода на фронте)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
А как добавить сверху АВТОРЫ?
*

beliyadm

  • Moderator
  • 9758
  • 1664 / 66
  • Севастополь, Россия
А как добавить сверху АВТОРЫ?
Это моя модификация галереи, комментировать и выкладывать пока не буду
В принципе ничего сложного, добавлен новый CASE в sub_viewspecial.php и пара функций в вывод
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Это моя модификация галереи, комментировать и выкладывать пока не буду
В принципе ничего сложного, добавлен новый CASE в sub_viewspecial.php и пара функций в вывод
Да жалко Хорошая модификация! Наверное тяжело самому сделать?
*

beliyadm

  • Moderator
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Наверное тяжело самому сделать?
нет, времени минут 20-30
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
нет, времени минут 20-30
А по подробнее не опишешь??Очень хочется такой сделать!
*

beliyadm

  • Moderator
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Объяснять не буду, но приложу sub_viewspecial из будущего компонента JooPic, с аналогичной функцией (смотреть case 'owners' и if (@$sorting == 'owners') собственно вывод на экран)

[вложение удалено Администратором]
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

roma-sever

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Объяснять не буду, но приложу sub_viewspecial из будущего компонента JooPic, с аналогичной функцией (смотреть case 'owners' и if (@$sorting == 'owners') собственно вывод на экран)
Блин спасибо большое!
*

tgk

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А существует данный хак для версии 1.6.2 ?? Если есть выложите.
Заранее спасибо.
*

Aalia

  • Захожу иногда
  • 67
  • 1 / 0
Ребят, кто знает решение проблемы в случае вертикальной навигации в 1.8.8 ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Datso в качестве каталога - дополнительные поля

Автор beliyadm

Ответов: 75
Просмотров: 34485
Последний ответ 03.10.2011, 16:19:57
от otshelnik
[DownLoad] Datso Gallery + New Userpannel /Joomla 1.5.x

Автор ershovdz

Ответов: 115
Просмотров: 61257
Последний ответ 02.10.2010, 18:58:14
от icy-heart
Модификация datso

Автор Iven

Ответов: 4
Просмотров: 2889
Последний ответ 22.05.2009, 15:24:40
от Iven
Datso 1.5 ошибка в обработке имени файла. Найдено решение.

Автор Фей

Ответов: 6
Просмотров: 2981
Последний ответ 24.07.2008, 14:24:42
от PaLyCH
Убрать заголовок категории в Datso

Автор Melnikoff

Ответов: 1
Просмотров: 2983
Последний ответ 23.07.2007, 03:49:47
от put_nik