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


как сделать список товаров по три штуки в ряд???


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

#81 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 25 Декабрь 2013 - 15:47

Просмотр сообщенияVaccina (25 Декабрь 2013 - 05:40) писал:

<table>
<tr>

{% FOR mods %}
{%IF goods.mods.REST_VALUE>0%}
<td class="goodsDataMainModificationsBlockProperty">
{% FOR v %}
{%IFNOT goods.mods.v.VALUE=Базовая%}
{%IF goods.mods.v.NAME=Выбрать размер%}
{goods.mods.v.VALUE};
{%ENDIF%}
{%ENDIF%}
{% ENDFOR %}
</td>
{goods.mods.index | is_divided("5","</tr><tr>","")}
{%ENDIF%}
{% ENDFOR %}
</tr>
</table>

Попробуйте заменить на:
<table>
<tr>
{% FOR mods %}
{% FOR v %}
{%IF goods.mods.v.NAME=Выбрать размер && goods.mods.v.index=0 %}
<td class="goodsDataMainModificationsBlockProperty">
Доступные размеры
</td>
{%ENDIF%}
{% ENDFOR %}
{% ENDFOR %}
{% FOR mods %}
{%IF goods.mods.REST_VALUE>0%}
<td class="goodsDataMainModificationsBlockProperty">
{% FOR v %}
{%IFNOT goods.mods.v.VALUE=Базовая%}
{%IF goods.mods.v.NAME=Выбрать размер%}
{goods.mods.v.VALUE};
{%ENDIF%}
{%ENDIF%}
{% ENDFOR %}
</td>
{goods.mods.index | is_divided("5","</tr><tr>","")}
{%ENDIF%}
{% ENDFOR %}
</tr>
</table>
Спасибо, попробовал,  но почему то фраза "Доступные размеры" не выводится

#82 Сake

Сake

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

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

Отправлено 26 Декабрь 2013 - 02:28

Попробуйте такой код

<table>
<tr>
<td class="goodsDataMainModificationsBlockPropertyText">
Доступные размеры
</td>
{% FOR mods %}
{%IF goods.mods.REST_VALUE>0%}
<td class="goodsDataMainModificationsBlockProperty">
{% FOR v %}
{%IFNOT goods.mods.v.VALUE=Базовая%}
{%IF goods.mods.v.NAME=Выбрать размер%}
<span class="goodsDataMainModificationsBlockPropertySize">{goods.mods.v.VALUE}</span>;
{%ENDIF%}
{%ENDIF%}
{% ENDFOR %}
</td>
{goods.mods.index | is_divided("5","</tr><tr>","")}
{%ENDIF%}
{% ENDFOR %}
</tr>
</table>
<script>
$('.goodsDataMainModificationsBlockPropertyText').parent().hide();
if($('.goodsDataMainModificationsBlockPropertySize').length) {
  $('.goodsDataMainModificationsBlockPropertyText').parent().show();
}
</script>


#83 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 05 Январь 2014 - 19:22

Просмотр сообщенияСake (26 Декабрь 2013 - 02:28) писал:

Попробуйте такой код

<table>
<tr>
<td class="goodsDataMainModificationsBlockPropertyText">
Доступные размеры
</td>
{% FOR mods %}
{%IF goods.mods.REST_VALUE>0%}
<td class="goodsDataMainModificationsBlockProperty">
{% FOR v %}
{%IFNOT goods.mods.v.VALUE=Базовая%}
{%IF goods.mods.v.NAME=Выбрать размер%}
<span class="goodsDataMainModificationsBlockPropertySize">{goods.mods.v.VALUE}</span>;
{%ENDIF%}
{%ENDIF%}
{% ENDFOR %}
</td>
{goods.mods.index | is_divided("5","</tr><tr>","")}
{%ENDIF%}
{% ENDFOR %}
</tr>
</table>
<script>
$('.goodsDataMainModificationsBlockPropertyText').parent().hide();
if($('.goodsDataMainModificationsBlockPropertySize').length) {
$('.goodsDataMainModificationsBlockPropertyText').parent().show();
}
</script>
Спасибо большое,  теперь работает.  Щас пытаюсь сделать чтоб фраза "доступные размеры" или просто "Размеры"  выводилась после слова "В наличии" Но проблемма в том, что я хочу чтоб это выводилось в одну строку, а оно выводится в две.  Как сделать чтоб не происходил перенос фразы "доступные размеры"???

Посмотрите что я наворотил  :)

<div class="goodsDataMainModificationAvailable_1">

     <div rel="true" class="available-true" {% IF goods.MAX_REST_VALUE=0 %} style="display:none;font-size: 1.1em; color:#34BB00;"
     {% ELSEIF goods.MAX_REST_VALUE>=110 %} style="display:none;font-size: 1.1em; color:#34BB00;" {% ENDIF %} style="font-size: 1.3em; color:#34BB00" >В наличии


    <!--<table><tr>   ***    </tr></table>чтоб выводило доступные размеры *** {goods.mods.v.NAME} это переменная имя модификации  -->  


<table>
<tr>

<td class="goodsDataMainModificationsBlockPropertyText">
размеры:&nbsp;
</td>
{% FOR mods %}
{%IF goods.mods.REST_VALUE>0%}
<td class="goodsDataMainModificationsBlockProperty">
{% FOR v %}
{%IFNOT goods.mods.v.VALUE=Базовая%}
{%IF goods.mods.v.NAME=Выбрать размер%}
<span class="goodsDataMainModificationsBlockPropertySize">{goods.mods.v.VALUE}</span>;&nbsp;
{%ENDIF%}
{%ENDIF%}
{% ENDFOR %}
</td>
{goods.mods.index | is_divided("6","</tr><tr>","")}
{%ENDIF%}
{% ENDFOR %}

</tr>

</table>


<script>
$('.goodsDataMainModificationsBlockPropertyText').parent().hide();
if($('.goodsDataMainModificationsBlockPropertySize').length) {
  $('.goodsDataMainModificationsBlockPropertyText').parent().show();
}
</script>

  <!-- КОНЕЦ чтоб вывоило доступные размеры *** -->    
</div>

#84 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 05 Январь 2014 - 19:28

И еще вопрос вдогонку про доступные размеры:  если у меня например есть один размер (допустим 68) в трех цветах, то он пишет мне "Доступные размеры 68; 68; 68".  Как сделать чтоб в данному случае показывал только один раз доступный размер?

#85 Сake

Сake

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

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

Отправлено 07 Январь 2014 - 02:15

Пожалуйста, приведите пример страницы (укажите адрес страницы) где происходит перенос "Доступные размеры" и отображаются дубликаты размеров.

#86 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 07 Январь 2014 - 09:54

Просмотр сообщенияСake (07 Январь 2014 - 02:15) писал:

Пожалуйста, приведите пример страницы (укажите адрес страницы) где происходит перенос "Доступные размеры" и отображаются дубликаты размеров.

http://artishka.ru/c...одежда-до-2-лет
вот на этой странице есть и дублирование размеров и понятно насчет переноса строки:  мне надо чтоб "В наличии размеры:...."   было написано в одну строку.

#87 Сake

Сake

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

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

Отправлено 08 Январь 2014 - 05:29

Добавьте в ваш файл стилей main.css

.goodsDataMainModificationAvailable_1 .available-true table {
  display: inline;
}

а в файл main.js следующий код

$(function() {
  $('.goodsDataMainModificationAvailable_1 .available-true').each(function() {
	var property = [];
	$(this).find('.goodsDataMainModificationsBlockProperty').each(function() {
	  var value = $.trim($(this).children('span').text());
	  if($.inArray(value, property) !== -1) {
		$(this).remove();
	  }
	  else {
		property.push(value);
	  }
	});
  });
});


#88 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 08 Январь 2014 - 09:44

И еще вопрос такой:  вот на этой странице ( и только на этой) http://artishka.ru/c...гузники?&page=2       прописывается фраза "В наличии размеры:",   хотя никаких размеров в модификациях этих товаров нет. Тут должно быть просто написано "в наличии".  На других товарах, которые без размеров так и есть, а именно на этой странице такое чудо.  :)   Подскажите как поправить?

#89 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 08 Январь 2014 - 10:09

Просмотр сообщенияСake (08 Январь 2014 - 05:29) писал:

Добавьте в ваш файл стилей main.css

.goodsDataMainModificationAvailable_1 .available-true table {
display: inline;
}

а в файл main.js следующий код

$(function() {
$('.goodsDataMainModificationAvailable_1 .available-true').each(function() {
var property = [];
$(this).find('.goodsDataMainModificationsBlockProperty').each(function() {
	 var value = $.trim($(this).children('span').text());
	 if($.inArray(value, property) !== -1) {
	 $(this).remove();
	 }
	 else {
	 property.push(value);
	 }
});
});
});
Спасибо! Дублирование размеров теперь нет, а вот перенос слов в фразе "в наличии размеры" так и остался.  Помогите поправить, что я делаю не так?

#90 Сake

Сake

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

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

Отправлено 09 Январь 2014 - 02:35

Добавьте в файл стилей main.css

.goodsDataMainModificationAvailable_1 .available-true table {
  display: inline;
}

На данный момент данный стиль в вашем файле main.css отсутствует.

Просмотр сообщенияdimabart (08 Январь 2014 - 09:44) писал:

И еще вопрос такой:  вот на этой странице ( и только на этой) http://artishka.ru/c...гузники?&page=2    прописывается фраза "В наличии размеры:",   хотя никаких размеров в модификациях этих товаров нет. Тут должно быть просто написано "в наличии".  На других товарах, которые без размеров так и есть, а именно на этой странице такое чудо.  :)   Подскажите как поправить?

Замените ранее добавленный код

$(function() {
  $('.goodsDataMainModificationAvailable_1 .available-true').each(function() {
		var property = [];
		$(this).find('.goodsDataMainModificationsBlockProperty').each(function() {
		  var value = $.trim($(this).children('span').text());
		  if($.inArray(value, property) !== -1) {
				$(this).remove();
		  }
		  else {
				property.push(value);
		  }
		});
  });
});

на следующий код

$(function() {
  $('.goodsDataMainModificationAvailable_1 .available-true').each(function() {
		var property = [];
		$(this).find('.goodsDataMainModificationsBlockProperty').each(function() {
		  var value = $.trim($(this).children('span').text());
		  if(!value || $.inArray(value, property) !== -1) {
			 if($(this).parent().find('.goodsDataMainModificationsBlockProperty').length === 1) {
			   $(this).closest('.available-true').html('В наличии');
			 }
			 else {
			   $(this).remove();
			 }
		  }
		  else {
			 property.push(value);
		  }
		});
  });
});


#91 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 09 Январь 2014 - 02:55

Просмотр сообщенияСake (09 Январь 2014 - 02:35) писал:

Добавьте в файл стилей main.css

.goodsDataMainModificationAvailable_1 .available-true table {
display: inline;
}

На данный момент данный стиль в вашем файле main.css отсутствует.


Замените ранее добавленный код

$(function() {
$('.goodsDataMainModificationAvailable_1 .available-true').each(function() {
	 var property = [];
	 $(this).find('.goodsDataMainModificationsBlockProperty').each(function() {
		 var value = $.trim($(this).children('span').text());
		 if($.inArray(value, property) !== -1) {
			 $(this).remove();
		 }
		 else {
			 property.push(value);
		 }
	 });
});
});

на следующий код

$(function() {
$('.goodsDataMainModificationAvailable_1 .available-true').each(function() {
	 var property = [];
	 $(this).find('.goodsDataMainModificationsBlockProperty').each(function() {
		 var value = $.trim($(this).children('span').text());
		 if(!value || $.inArray(value, property) !== -1) {
			 if($(this).parent().find('.goodsDataMainModificationsBlockProperty').length === 1) {
			 $(this).closest('.available-true').html('В наличии');
			 }
			 else {
			 $(this).remove();
			 }
		 }
		 else {
			 property.push(value);
		 }
	 });
});
});

странно, но этот код в моем файле стилей есть, я его вижу, где подвох?  это насчет переноса строки

#92 Сake

Сake

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

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

Отправлено 09 Январь 2014 - 03:11

Да, у вас есть подобный код (сразу его заметить не удалось), но он записан по другому и из-за этого является совершенно другим селектором. Ваш стиль выглядит так

.goodsDataMainModificationAvailable_1.available-true table {
  display: inline;
}

ошибка в том что отсутствует пробел между .goodsDataMainModificationAvailable_1 и .available-true. Посмотрите внимательнее стиль который я приводил вам ранее.

#93 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 09 Январь 2014 - 14:06

Просмотр сообщенияСake (09 Январь 2014 - 03:11) писал:

Да, у вас есть подобный код (сразу его заметить не удалось), но он записан по другому и из-за этого является совершенно другим селектором. Ваш стиль выглядит так

.goodsDataMainModificationAvailable_1.available-true table {
display: inline;
}

ошибка в том что отсутствует пробел между .goodsDataMainModificationAvailable_1 и .available-true. Посмотрите внимательнее стиль который я приводил вам ранее.
Спасибо за помощь! Пробел добавил, и действительно в IE8  теперь переноса слова нет, а вот в гуглехроме  все равно переносится, я уже и кеш чистил несколько раз и все перезагружал, бесполезно.

#94 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 09 Январь 2014 - 14:42

В Opera тоже перенос есть, а вот в Mozilla Firefox  переноса нет, все красиво отображается.

#95 Сake

Сake

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

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

Отправлено 10 Январь 2014 - 02:08

Как я понимаю проблема в новой опере, так как новая опера основана на движке хрома и по сути это один и тот же браузер blink. В старой версии оперы еще 12.16 все выглядит нормально. Попробуйте следующие изменение - в файле стилей ранее добавленный класс

.goodsDataMainModificationAvailable_1 .available-true table {
  display: inline;
}

замените на

.goodsDataMainModificationAvailable_1 .available-true table {
  display: inline-block;
  vertical-align: top;
}


#96 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 10 Январь 2014 - 18:39

Просмотр сообщенияСake (10 Январь 2014 - 02:08) писал:

Как я понимаю проблема в новой опере, так как новая опера основана на движке хрома и по сути это один и тот же браузер blink. В старой версии оперы еще 12.16 все выглядит нормально. Попробуйте следующие изменение - в файле стилей ранее добавленный класс

.goodsDataMainModificationAvailable_1 .available-true table {
display: inline;
}

замените на

.goodsDataMainModificationAvailable_1 .available-true table {
display: inline-block;
vertical-align: top;
}
Спасибо большое,  но теперь все наоборот  :) ,   в IE8 стал переносить строку, а в остальных все нормально, как надо.

#97 Сake

Сake

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

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

Отправлено 11 Январь 2014 - 02:19

Для браузера IE можно задать отдельный стиль, тем самым переопределив его. Сперва попробуйте удалить строку

<meta http-equiv="X-UA-Compatible" content="IE=7" />

в вашем шаблоне "HTML". Возможно проблема решиться  для каких-то определенных версий IE. Например IE8-IE11. Если проблема останется, то в шаблоне "HTML" после подключения файла main.css, а именно строки

<link rel="stylesheet" href="{ASSETS_STYLES_PATH}main.css" type="text/css" />

добавьте код

<!--[if IE]>
<style>
.goodsDataMainModificationAvailable_1 .available-true table {
  display: inline !important;
} 
</style>
<![endif]-->


#98 dimabart

dimabart

    Продвинутый пользователь

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

Отправлено 11 Январь 2014 - 09:07

Просмотр сообщенияСake (11 Январь 2014 - 02:19) писал:

Для браузера IE можно задать отдельный стиль, тем самым переопределив его. Сперва попробуйте удалить строку

<meta http-equiv="X-UA-Compatible" content="IE=7" />

в вашем шаблоне "HTML". Возможно проблема решиться  для каких-то определенных версий IE. Например IE8-IE11. Если проблема останется, то в шаблоне "HTML" после подключения файла main.css, а именно строки

<link rel="stylesheet" href="{ASSETS_STYLES_PATH}main.css" type="text/css" />

добавьте код

<!--[if IE]>
<style>
.goodsDataMainModificationAvailable_1 .available-true table {
display: inline !important;
}
</style>
<![endif]-->
Спасибо большое! проблема исчезла после того, как убрал строку в HTML. Скажите, а убратие этой строки нигде отрицательно не проявится потом?

#99 Сake

Сake

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

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

Отправлено 14 Январь 2014 - 01:21

Нет. Строка - которую вы убрали, заставляет браузер IE (и только его) - работать непосредственно с младшей версией браузера. Например если вы зашли на сайт через IE10, то вам в любом случае сайт будет отображаться как если бы вы зашли на него через браузер IE7.

#100 Ibra

Ibra

    Продвинутый пользователь

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

Отправлено 12 Март 2014 - 10:02

Просмотр сообщенияVaccina (30 Июль 2012 - 23:54) писал:

Подобный вопрос рассматривался в следующей теме форума http://forum.storela...dpost__p__16119

Для изменения стиля цены - в файл стилей main.css раздела редактора тем добавьте

.goodsListItemPriceNew a {
color: green;
font-size: 12px;
}

За наличие в каталоге отвечает блок

{% IF goods.MOD_REST_VALUE=0 %}<div rel="true" class="available-true">Товара нет в наличии</div>{% ENDIF %}

Проверьте, так ли у вас выводиться наличие в шаблоне "Товары".

На счет размеров не уверена, но можно попробовать просто выводить модификации которые есть.

Например что бы вывести все модификации которые есть в наличии достаточно следующего кода

 <table>
<tr>
{% FOR mods %}
{%IF goods.mods.REST_VALUE>0%}
<td class="goodsDataMainModificationsBlockProperty">
{% FOR v %}
{goods.mods.v.NAME}:{goods.mods.v.VALUE}
{% ENDFOR %}
</td>
{goods.mods.index | is_divided("2","</tr><tr>","")}
{%ENDIF%}
{% ENDFOR %}
</tr>
</table>

в шаблоне "Товары", этот код нужно вставить в необходимо место внутрь {% FOR goods %} и простилизовать блок <table> как необходимо.

здравствуйте скажите пожалуйста что бы вывести все модификации которые есть в наличии в шаблоне радость тоже самое надо делать или как нибудь по другому

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

  • Детские ботинки в интернет-магазине SAPATO. Выбирайте и покупайте ботинки для девочек по выгодной цене - доставка по России. - Google Chrome.jpg





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

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