Перейти к содержимому


Количество Фото


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 Mari-ina

Mari-ina

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 646 сообщений

Отправлено 14 Июль 2014 - 20:06

Здравствуйте. Подскажите, как сделать под увеличенной фотографией общее количество фото и номер показанной, например "Изображение 1 из 5"?

#2 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 15 Июль 2014 - 06:24

Пожалуйста, выполните сначала изменения предложенные вам в теме форума http://forum.storela...на/#entry147852 на данный момент увеличение изображений у вас работает не корректно.

#3 Mari-ina

Mari-ina

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 646 сообщений

Отправлено 16 Июль 2014 - 20:08

Здравствуйте. А теперь можно реализовать нумерацию изображений?

#4 MikDark

MikDark

    Активный участник

  • Модераторы
  • 6 468 сообщений

Отправлено 16 Июль 2014 - 20:31

Просмотр сообщенияMari-ina (16 Июль 2014 - 20:08) писал:

Здравствуйте. А теперь можно реализовать нумерацию изображений?

Попробуйте в шаблоне Товар после строки:
<a href="{goods_images.LARGE}" data="{goods_images.ID}" title="{goods_images.NAME}"><img src="{goods_images.ICON}" alt="{goods_images.NAME}" /></a>

вставить:
<div class="img_num">{goods_images.ID}</div>


#5 Mari-ina

Mari-ina

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 646 сообщений

Отправлено 17 Июль 2014 - 19:02

Нет, номер нигде не отобразился

#6 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 18 Июль 2014 - 00:14

Найдите в вашем файле main.js строку

$('a[rel="gallery"]').fancybox();

и замените её на

$('a[rel="gallery"]').fancybox({
	'titlePosition': 'inside',
	'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
	  return '<div id="tip7-title">' + (title && title.length ? '<b>' + title + '</b>' : '' )
	  + 'Изображение ' + (currentIndex + 1) + ' из ' + currentArray.length + '</div>';
	}
});


#7 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 29 Июль 2014 - 13:46

Просмотр сообщенияMikDark (16 Июль 2014 - 20:31) писал:

Попробуйте в шаблоне Товар после строки:
<a href="{goods_images.LARGE}" data="{goods_images.ID}" title="{goods_images.NAME}"><img src="{goods_images.ICON}" alt="{goods_images.NAME}" /></a>

вставить:
<div class="img_num">{goods_images.ID}</div>

У меня от строки <div class="img_num">{goods_images.ID}</div> высветились похоже коды картинок :(  Вставил в строку 172!

Прикрепленные изображения

  • 29_07_14_1.png


#8 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 29 Июль 2014 - 13:59

перенес в 158 строку, не помогает :(

#9 Taisia

Taisia

    Активный участник

  • Модератоpы
  • 1 289 сообщений

Отправлено 29 Июль 2014 - 14:06

эта строка действительно выведет id картинок

воспользуйтесь рекомендацией из этого сообщения

#10 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 29 Июль 2014 - 14:31

Просмотр сообщенияTaisia (29 Июль 2014 - 14:06) писал:

воспользуйтесь рекомендацией из этого сообщения
так я это сделал как само собой разумеющееся начиная с 1148 строки :)

#11 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 30 Июль 2014 - 02:51

К сожалению, выше приведенный код уже не работает, так как была обновлена библиотека fancybox в новых шаблонах на forall.js. Для новых шаблонов можно использовать код вида

$('a[rel="gallery"]').fancybox({
	helpers : {
		title: {
			type: 'inside'
		}
	},
	afterShow: function() {
	  $(this.skin).find('.fancybox-title')
	  .append(' Изображение ' + (this.index + 1) + ' из ' + this.group.length);
	}
  });

это в замен кода

$('a[rel="gallery"]').fancybox({
		'titlePosition': 'inside',
		'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
		  return '<div id="tip7-title">' + (title && title.length ? '<b>' + title + '</b>' : '' )
		  + 'Изображение ' + (currentIndex + 1) + ' из ' + currentArray.length + '</div>';
		}
});


#12 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 11 Август 2014 - 11:02

Просмотр сообщенияkoloskov (29 Июль 2014 - 13:59) писал:

перенес в 158 строку, не помогает

Просмотр сообщенияСake (30 Июль 2014 - 02:51) писал:

$('a[rel="gallery"]').fancybox({
	 'titlePosition': 'inside',
	 'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
		 return '<div id="tip7-title">' + (title && title.length ? '<b>' + title + '</b>' : '' )
		 + 'Изображение ' + (currentIndex + 1) + ' из ' + currentArray.length + '</div>';
	 }
});

не работает...

#13 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 12 Август 2014 - 01:55

По всей видимости проблема возникает из-за отсутствия блока fancybox-title. Попробуйте сделать следующее - в файле main.js найдите и удалите дубликат кода

$('a[rel="gallery"]').fancybox({
		helpers : {
				title: {
						type: 'inside'
				}
		},
		afterShow: function() {
		  $(this.skin).find('.fancybox-title')
		  .append(' Изображение ' + (this.index + 1) + ' из ' + this.group.length);
		}
  });

данных блока кода у вас сейчас 2. Второй дубликат замените на следующий блок кода

$('a[rel="gallery"]').fancybox({
  helpers: {
	title: {
	  type: 'inside'
	}
  },
  afterShow: function () {
	var title = $(this.skin).find('.fancybox-title');
	if (!title.length) {
	  title = $(this.skin).append($('<div class="fancybox-title">'));
	}
	title.append(' Изображение ' + (this.index + 1) + ' из ' + this.group.length);
  }
});


#14 koloskov

koloskov

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 376 сообщений

Отправлено 13 Август 2014 - 12:23

Просмотр сообщенияСake (12 Август 2014 - 01:55) писал:

в файле main.js найдите и удалите дубликат кода
все получилось..., и как я сам не разобрался (стыдно короче)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных