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

Необходимо выводить фиксированную картинку категории (хотя бы для главных категорий). Делала так: В корне категории размещала 1 картинку, кроме этого, в корне находится список подкатегорий. Предполагала, что всегда будет выводится родна и та же картинка из корня, а датсо перебирает все картинки из подкатегорий. Как фиксировать? Может отключается это где-то?
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #1 : 03.01.2008, 20:33:08 »
можно в файле datsogallery.php найти строки с запросом примерно 930:
Код
$query = "select *, c.access from #__datsogallery as p "
    ." left join #__datsogallery_catg as c on c.cid=p.catid "
    ." where " . ( $catid ? " ( p.catid in (". $catid .") )" : '' )
    ." and p.published = '1' and p.approved='1' and c.access<='".$my->gid."' "
    . ( $catid ? " or ( c.parent in (". $catid .") )" : '' )
    ." and p.published = '1' and p.approved='1' and c.access<='".$my->gid."' "
    ." order by rand() limit 1";
Именно order by rand() и делает рандомный показ превьюшки для галереи.
При необходимости вывести фиксированную картинку, можно отловить id нужной превьюшки и добавить в условие, что то вроде:
Код
    $query = "select *, c.access from #__datsogallery as p "
    ." left join #__datsogallery_catg as c on c.cid=p.catid "
    ." where " . ( $catid ? " ( p.catid in (". $catid .") )" : '' )
    ." and p.published = '1' and p.approved='1' and c.access<='".$my->gid."' "
    . ( $catid ? " or ( c.parent in (". $catid .") )" : '' )
    ." and p.published = '1' and p.approved='1' and c.access<='".$my->gid."' "
    ."  and p.id='нужный ID картинки'";
Не проверял, в чистом виде работоспособность не гарантирую
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb

Re: Зафиксировать картинку категории
« Ответ #2 : 03.01.2008, 20:53:37 »
Да... мудрено... Неужели только так можно? Пойду смотреть...
*

fisco

  • Захожу иногда
  • 53
  • 24 / 0
Re: Зафиксировать картинку категории
« Ответ #3 : 04.01.2008, 11:18:54 »
Если версия 1.5 то наверное только так, как описывал beliyadm. В предыдущих версиях, в частности 1.3.7, была возможность выбора фиксированной картинки. На мой взгляд нужная опция, зачем разработчик ее убрал - вопрос, но ему виднее...
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #4 : 04.01.2008, 12:20:37 »
мне самому не нравятся оба варианта - что рандомная, что последняя из загруженных в галерею.
Плохо нет возможности принудительно указать одно навечно изображение.
При желании можно конечно добавить поле в описание категории, но лень
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

fisco

  • Захожу иногда
  • 53
  • 24 / 0
Re: Зафиксировать картинку категории
« Ответ #5 : 04.01.2008, 12:35:00 »
Плохо нет возможности принудительно указать одно навечно изображение.
В предыдущих версиях, в частности 1.3.7, была возможность выбора фиксированной картинки.
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #6 : 04.01.2008, 12:36:09 »
откатываться на 1.3.7 нехочется, а копаться и разбираться в коде если честно лень, НГ продолжается :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Agafonov

  • Новичок
  • 15
  • 0 / 0
Re: Зафиксировать картинку категории
« Ответ #7 : 20.10.2008, 17:28:23 »
подскажите, не появилось ли способа зафиксировать картинку для версии 1,6
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #8 : 20.10.2008, 17:34:05 »
найди аналогичный запрос, формирующий вывод категорий и убери order by rand()
Либо замени его на ORDER BY p.id
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Agafonov

  • Новичок
  • 15
  • 0 / 0
Re: Зафиксировать картинку категории
« Ответ #9 : 20.10.2008, 18:29:01 »
не очень понял :(

подскажите, а как узнать ID картинки, так наверное будет проще

Спасибо за ответ
С уважением, Егор
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #10 : 20.10.2008, 18:30:48 »
ID картинки можно узнать в таблице #__datsogallery, но не совсем красиво, ибо для всех категорий будет показываться одна превьюшка
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Olinda

  • Захожу иногда
  • 71
  • 1 / 0
Re: Зафиксировать картинку категории
« Ответ #11 : 24.10.2008, 17:12:15 »
Какой ужас...неужели накак нельзя сделать фиксированые картинки категорий?
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #12 : 24.10.2008, 20:32:22 »
Какой ужас...неужели накак нельзя сделать фиксированые картинки категорий?
в последних версиях Datso нельзя, для TrueGalley мы уже предусмотрели два варианта, там можно будет фиксировать
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Agafonov

  • Новичок
  • 15
  • 0 / 0
Re: Зафиксировать картинку категории
« Ответ #13 : 24.04.2009, 13:25:32 »
не появилось ли возможности фиксировать в Datso?
TrueGalley уже позволяет это делать?
*

neocraft

  • Захожу иногда
  • 159
  • 3 / 0
  • www.neocraft.org
Re: Зафиксировать картинку категории
« Ответ #14 : 17.08.2009, 03:02:37 »
Для версии 1.8.1. есть способ зафиксировать картинку.
пробывал поменять код как указано выше, но ни чего не вышло, там не много изменился код и не получается по id поставить картинку, всё время при каждом пополнении категории картинка изменяется.
подскажите что сделать? !
*

neocraft

  • Захожу иногда
  • 159
  • 3 / 0
  • www.neocraft.org
Re: Зафиксировать картинку категории
« Ответ #15 : 17.08.2009, 04:05:06 »
добился простым способом:

в файле datsogallery.php в строчке 955, в скобочки добавил 1 и получилось: order by rand (1) limit 1"; (можете и другие цыфры прописать, может и вам повезёт), всё остановилось по одной картинке на всех категориях, далее нашёл в папке dg_thumbnails эти картинки и заменил на нужные.

если есть цивилизованный способ пишите.
*

beliyadm

  • Moderator
  • 9501
  • 1648 / 65
  • Севастополь == Россия
Re: Зафиксировать картинку категории
« Ответ #16 : 17.08.2009, 04:12:11 »
neocraft - а достаточно просто из запроса убрать вообще order by rand () либо заменить на сортировку по первому добавленному изображению категории через ORDER BY id ASC
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

neocraft

  • Захожу иногда
  • 159
  • 3 / 0
  • www.neocraft.org
Re: Зафиксировать картинку категории
« Ответ #17 : 17.08.2009, 04:19:21 »
можно и так, но вывает, что фотки уже все добавлены, а поменять изображение которое лежит в середине нужно быстро.
*

MAXBeat

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Зафиксировать картинку категории
« Ответ #18 : 10.12.2009, 01:11:11 »
А еще лучше сделать так: ORDER BY 'ordering' ASC и тогда будет отображаться первое изображение в списке фотографий, порядок которых можно легко поменять в админке, тем самым назначить нужное изображение для категории.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как реализовать меню -> категории?

Автор VadimY

Ответов: 2
Просмотров: 1769
Последний ответ 19.12.2018, 18:21:54
от NewsPR666
Как убрать нумерацию фотографий в категории? ((?

Автор segal

Ответов: 0
Просмотров: 1926
Последний ответ 15.04.2014, 15:32:43
от segal
Как добавить описание фото при отображении в категории?

Автор Mishani

Ответов: 0
Просмотров: 18465
Последний ответ 10.09.2013, 17:18:14
от Mishani
В DatsoGallery показывает только одну картинку

Автор Belverk

Ответов: 10
Просмотров: 1589
Последний ответ 06.02.2013, 15:26:24
от Belverk
Описание категории при просмотре миниэскизов

Автор newjey

Ответов: 8
Просмотров: 5159
Последний ответ 17.12.2012, 23:50:59
от beliyadm