Отображение товаров списком: модификация - цена как в Excel-е
#141
Отправлено 17 Май 2014 - 02:20
#142
Отправлено 17 Май 2014 - 08:50
#143
Отправлено 18 Май 2014 - 11:45
Остался вопрос по переменным веса и типа (из характеристик)
#144
Отправлено 18 Май 2014 - 15:50
#145
Отправлено 18 Май 2014 - 15:58
у меня 2 переменных не хватает:
на Вес и на Тип
#146
Отправлено 18 Май 2014 - 16:07
#148
Отправлено 18 Май 2014 - 17:17
Samcopy (18 Май 2014 - 16:31) писал:
Прикладываю скрин, помогите разместить блоки в карточке товара
Здравствуйте!
Попробуйте сделать так:
В шаблоне Товар найдите строку
<div class="goodsDataMainModificationsDescriptionBlock align_justify" id="loyalty" {% IFNOT GOODS_MOD_DESCRIPTION %}style="display:none;"{% ENDIF %}>{GOODS_MOD_DESCRIPTION}</div>переместите ее сразу после строки
<div class="product_attributes" {% IF GOODS_NO_CHOISE_IN_PROPERTIES_FOR_MODIFICATIONS %}style="display:none;"{% ENDIF %}>и замените в шаблоне style.css строку
#loyalty{float:left;border:none;background:url('http://design.pontoon21.su/info.png') no-repeat 0 50%;margin: 20px 0 0 0;padding:0 0 0 30px;color:#666666;font-size:11px;min-height: 20px;}на
#loyalty{float:right;border:none;background:url('http://design.pontoon21.su/info.png') no-repeat 0 50%;margin: 20px 0 0 0;padding:0 0 0 30px;color:#666666;font-size:11px;min-height: 20px;margin-top:0px;}
#149
Отправлено 18 Май 2014 - 17:29
Alexey11 (18 Май 2014 - 16:07) писал:
вот здесь все есть http://pontoon21.su/...-SMR#show_tab_2
#150
Отправлено 19 Май 2014 - 08:37
{% FOR goods_features %}
{goods_features.NAME}
{goods_features.VALUE}
{%ENDFOR%}
Если вам нужно вывести только вес и тип, то нужно использовать такую конструкцию :
{% FOR goods_features %}
{% IF goods_features.NAME=Вес %}
{goods_features.NAME}
{goods_features.VALUE}
{%ENDIF%}
{% IF goods_features.NAME=Тип %}
{goods_features.NAME}
{goods_features.VALUE}
{%ENDIF%}
{%ENDFOR%}
#151
Отправлено 19 Май 2014 - 17:54
Вот код:
<div id="more_info_block">
<ul class="idTabs">
<div class="modify">
<table class="goods_modifications">
<thead>
<td>Артикул</td>
<td>Цвет</td>
<td>Тип</td>
<td>Вес</td>
<td>Цена</td>
<td>Остаток</td>
<td>Купить</td>
</thead>
<tbody>
{% FOR goods_modifications %}
<td>{goods_modifications.ART_NUMBER}</td>
<td>{goods_modifications.DESCRIPTION | htmlspecialchars_decode}</td>
<td class="mod_name"></td>
<td>{goods_modifications.MEASURE_NAME}</td>
<td>{goods_modifications.PRICE_NOW}</td>
<td>{goods_modifications.REST_VALUE}</td>
<td>
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsDataForm">
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods_modifications.ID}" />
<input type="number" value="1" size="2" maxlength="5" class="quantity" name="form[goods_mod_quantity]">
<a class="more-link" onclick="$(this).closest('form').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a>
</form>
</td>
</tr>
{% ENDFOR %}
</tbody>
</table>
<div class="goods_modifications_properties" style="display:none;">
{% FOR goods_modifications_properties %}{% FOR values %}
<div rel="{goods_modifications_properties.values.ID}">{goods_modifications_properties.values.NAME}</div>
{% ENDFOR %}{% ENDFOR %}
</div>
в таблице сейчас колонка "Тип" пустая, а в "Весе" стоят штуки
#152
Отправлено 19 Май 2014 - 18:18
Samcopy (19 Май 2014 - 17:54) писал:
Вот код:
<div id="more_info_block">
<ul class="idTabs">
<div class="modify">
<table class="goods_modifications">
<thead>
<td>Артикул</td>
<td>Цвет</td>
<td>Тип</td>
<td>Вес</td>
<td>Цена</td>
<td>Остаток</td>
<td>Купить</td>
</thead>
<tbody>
{% FOR goods_modifications %}
<td>{goods_modifications.ART_NUMBER}</td>
<td>{goods_modifications.DESCRIPTION | htmlspecialchars_decode}</td>
<td class="mod_name"></td>
<td>{goods_modifications.MEASURE_NAME}</td>
<td>{goods_modifications.PRICE_NOW}</td>
<td>{goods_modifications.REST_VALUE}</td>
<td>
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsDataForm">
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods_modifications.ID}" />
<input type="number" value="1" size="2" maxlength="5" class="quantity" name="form[goods_mod_quantity]">
<a class="more-link" onclick="$(this).closest('form').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a>
</form>
</td>
</tr>
{% ENDFOR %}
</tbody>
</table>
<div class="goods_modifications_properties" style="display:none;">
{% FOR goods_modifications_properties %}{% FOR values %}
<div rel="{goods_modifications_properties.values.ID}">{goods_modifications_properties.values.NAME}</div>
{% ENDFOR %}{% ENDFOR %}
</div>
в таблице сейчас колонка "Тип" пустая, а в "Весе" стоят штуки
{% FOR goods_modifications %} <td>{goods_modifications.ART_NUMBER}</td> <td>{goods_modifications.DESCRIPTION | htmlspecialchars_decode}</td> <td class="mod_name"></td> <td>{goods_modifications.MEASURE_NAME}</td> <td>{goods_modifications.PRICE_NOW}</td> <td>{goods_modifications.REST_VALUE}</td> <td> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsDataForm"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods_modifications.ID}" /> <input type="number" value="1" size="2" maxlength="5" class="quantity" name="form[goods_mod_quantity]"> <a class="more-link" onclick="$(this).closest('form').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a> </form> </td> </tr> {% ENDFOR %}
и замените его на:
{% FOR goods_modifications %} <td>{goods_modifications.ART_NUMBER}</td> <td>{goods_modifications.DESCRIPTION | htmlspecialchars_decode}</td> {% ENDFOR %} {% FOR goods_features %} {% IF goods_features.NAME=Тип %} <td>{goods_features.VALUE}</td> {%ENDIF%} {% IF goods_features.NAME=Вес %} <td>{goods_features.VALUE}</td> {%ENDIF%} {%ENDFOR%} {% FOR goods_modifications %} <td>{goods_modifications.PRICE_NOW}</td> <td>{goods_modifications.REST_VALUE}</td> <td> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsDataForm"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods_modifications.ID}" /> <input type="number" value="1" size="2" maxlength="5" class="quantity" name="form[goods_mod_quantity]"> <a class="more-link" onclick="$(this).closest('form').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a> </form> </td> </tr> {% ENDFOR %}
#153
Отправлено 19 Май 2014 - 18:45
#154
Отправлено 20 Май 2014 - 01:09
<td class="mod_name"></td>у вас должно было выводиться название модификации, не нужно было удалять
<tr rel="{goods_modifications.PROPERTIES_SLUG}">
готовый вид вашей таблицы с характеристиками:
<table class="goods_modifications"> <thead> <td>Артикул</td> <td>Модификация</td> <td>Цвет</td> <td>Тип</td> <td>Вес</td> <td>Цена</td> <td>Ед.измерения</td> <td>Остаток</td> <td>Купить</td> </thead> <tbody> {% FOR goods_modifications %} <tr rel="{goods_modifications.PROPERTIES_SLUG}"> <td>{goods_modifications.ART_NUMBER}</td> <td class="mod_name"></td> <td>{goods_modifications.DESCRIPTION | htmlspecialchars_decode}</td> <td class="mod_type"></td> <td class="mod_measure"></td> <td>{goods_modifications.PRICE_NOW}</td> <td>{goods_modifications.MEASURE_NAME}</td> <td>{goods_modifications.REST_VALUE}</td> <td> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsDataForm"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods_modifications.ID}" /> <input type="number" value="1" size="2" maxlength="5" class="quantity" name="form[goods_mod_quantity]"> <a class="more-link" onclick="$(this).closest('form').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a> </form> </td> </tr> {% ENDFOR %} </tbody> </table> <div class="goods_modifications_properties" style="display:none;"> {% FOR goods_modifications_properties %}{% FOR values %} <div rel="{goods_modifications_properties.values.ID}">{goods_modifications_properties.values.NAME}</div> {% ENDFOR %}{% ENDFOR %} </div> <div style="display:none;"> {% FOR goods_features %} {% IF goods_features.NAME=Тип %} <div class="type">{goods_features.VALUE}</div> {%ENDIF%} {% IF goods_features.NAME=Вес %} <div class="measure">{goods_features.VALUE}</div> {%ENDIF%} {%ENDFOR%} </div> <script> $('.type').each(function() { var mod_id = $(this).attr('rel'); $('.goods_modifications tr .mod_type').html($(this).html()); }); $('.measure').each(function() { var mod_id = $(this).attr('rel'); $('.goods_modifications tr .mod_measure').html($(this).html()); }); $('.goods_modifications_properties > div').each(function() { var mod_id = $(this).attr('rel'); $('.goods_modifications tr[rel="' + mod_id + '"] .mod_name').html($(this).html()); }); </script>
удалять в нем ничего не нужно, только сами столбцы, но их нужно как в <tbody> удалять так и в <thead>, чтобы не нарушить синтаксис таблицы, если хотите что-то отдельно простилизовать, то лучше добавьте классы к ячейкам.
#155
Отправлено 20 Май 2014 - 16:10
Спасибо за код, вроде все встало, буду пробовать втиснуть табличку в экран полностью
#156
Отправлено 12 Июль 2014 - 16:27
прикладываю товары
<p id="breadcrumb">Вы здесь: <a href="http://{NET_DOMAIN}/...}/">Главная</a>
<!-- Если отображаем полный каталог товаров, без указания категории -->
{% IF IS_FULL_CATALOG %}
> <strong>Каталог товаров</strong>
<!-- Если отображаем товары в категории -->
{% ELSE %}
> <a href="{CATALOG_URL}" >Каталог товаров</a>
{% FOR upper_navigation %}
{% IF upper_navigation.CURRENT %} > <strong>{upper_navigation.NAME}</strong>{% ELSEIF upper_navigation.CURRENT_PARENT %} > <a href="{upper_navigation.URL}" >{upper_navigation.NAME}</a>{% ENDIF %}
{% ENDFOR %}
{% ENDIF %}
</p>
<h1>{CATEGORY_NAME}</h1>
{% IF IS_FULL_CATALOG %}
<!-- Блок навигации по категориям, вложенным в текущую категорию -->
<ul class="content_catalog_nested_categories">
{% FOR nested_categories_list %}
<li>
<div class="imagem"><a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»"><img {% IF nested_categories_list.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-small.png" width="130"{% ELSE %}src="{nested_categories_list.IMAGE_MEDIUM}"{% ENDIF %} alt="{nested_categories_list.NAME}" /></a></div>
<a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»">{nested_categories_list.NAME}</a>
</li>
{% ENDFOR %}
</ul>
<br clear="all"/>
{% ELSE %}
<table>
<!-- Фильтры показываются только если есть товары в категории -->
{% IFNOT goods_empty %}
<!-- Дополнительная навигация для работы со списком товаров -->
<tr>
<!-- Блок выбора параметра по которому производится сортировка списка товаров и возможность изменения лимитов выдачи -->
<td>
<form action="">
<div>
<!-- Список фильтров, которые сейчас действуют на результаты поиска -->
{% FOR goods_filters %}
<input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" />
{% ENDFOR %}
<!-- Поле выбора сортировки -->
{% IF goods_show_order_fields %}
Сортировать по:
<select name="goods_search_field_id" onchange="this.form.submit();">
{% FOR goods_order_fields %}
<option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option>
{% ENDFOR %}
</select>
{% ENDIF %}
<!-- Поле выбора лимитов -->
{% IF goods_show_per_page %}
Показывать по:
<select name="per_page" onchange="this.form.submit();">
{% FOR goods_per_page_list %}
<option value="{goods_per_page_list.LIMIT}" {% IF goods_per_page_list.SELECTED %}selected="selected"{% ENDIF %}>{goods_per_page_list.LIMIT}</option>
{% ENDFOR %}
</select>
{% ENDIF %}
</div>
</form>
</td>
<!-- END Блок выбора параметра по которому производится сортировка списка товаров -->
<!-- Страницы -->
<td class="alignRight">
<div>
{% IF show_pages %}
<div class="square_pages">
<span>Страницы: </span>
{% FOR goods_pages %}
{% IF goods_pages.CURRENT %}
<b>{goods_pages.PAGE}</b>
{% ELSE %}
<a href="{GOODS_PAGINATE_URL}&page={goods_pages.PAGE}">{goods_pages.PAGE}</a>
{% ENDIF %}
{% ENDFOR %}
</div>
{% ENDIF %}
</div>
</td>
<!-- END Страницы -->
</tr>
<!-- END Дополнительная навигация для работы со списком товаров -->
{% ENDIF %}
<!-- END Фильтры показываются только если есть товары в категории -->
<!-- Список товаров -->
<tr>
<td colspan="2">
<table style="padding:0px;margin:0px;">
<tr>
<!-- Если список товаров пуст -->
{% IF goods_empty %}
<td>
<!-- Если не применено ни одного фильтра, значит в категории нет товаров -->
{% IF goods_filters_empty %}
<!-- Если в категории нет товаров, но есть категории, то отобразим их -->
{%IFNOT nested_categories_list_empty %}
<!-- Блок навигации по категориям, вложенным в текущую категорию -->
<ul class="content_catalog_nested_categories">
{% FOR nested_categories_list %}
<li>
<div class="withBorder cornerAll" style="padding:1em">
<div><a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»"><img class="goods-cat-image-medium" {% IF nested_categories_list.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-small.png"{% ELSE %}src="{nested_categories_list.IMAGE_MEDIUM}"{% ENDIF %} alt="{nested_categories_list.NAME}" /></a></div>
<a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»">{nested_categories_list.NAME}</a>
</div>
</li>
{% ENDFOR %}
</ul>
<br clear="all"/>
<!-- Если в категории нет ни товаров, ни категорий то сообщим пользователю что ничего нет -->
{% ELSE %}
<h3>Нет товаров в категории</h3>
{% ENDIF %}
<!-- Если производили фильтрацию товаров в категории -->
{% ELSE %}
<h3>Нет товаров для выбранных условий</h3>
{% ENDIF %}
</td>
<!-- Если есть товары -->
{% ELSE %}
<table>
<thead>
<th>Изображение</th>
<th>Название</th>
<th>Описание</th>
<th>Цена</th>
<th>Наличие</th>
<th></th>
</thead>
{% FOR goods %}
<tbody id="gl{goods.ID}">
<tr style="display: none;">
<td style="display: none;">
<div class="parent_goods_images_list" rel="{goods.ID}">
{% FOR images %}
<div style="display: none;"><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /></div>
{% ENDFOR %}
</div>
</td>
</tr>
{% FOR mods %}
<tr style="border-bottom:1px dashed #ccc; background:{g.index | is_divided("2","#ffffcc","#c0c0c0")};">
<td class="valignMiddle alignCenter"> <div style="position: relative;">
<a href="{goods.mods.URL}"><img class="prd-image" src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-icon.png{% ELSE %}{goods.IMAGE_ICON}{% ENDIF %}" alt="{goods.mods.NAME}" /></a>
<div class="goods_images_list append_images_list{goods.ID}"></div>
</div></td>
<td class="valignMiddle">
<a href="{goods.mods.URL}">{goods.NAME}</a>
</td>
<td class="valignMiddle">
{goods.DESCRIPTION_SHORT}
</td>
<td class="valignMiddle alignRight">
<div class="goodsListItemPriceNew" style="white-space:nowrap;">
{goods.mods.PRICE_NOW | money}
</div>
{% IF goods.mods.PRICE_OLD > goods.mods.PRICE_NOW %}
<div class="goodsListItemPriceOld" style="white-space:nowrap;">
<s>{goods.mods.PRICE_OLD | money}</s>
</div>
{% ENDIF %}
</td>
<td class="valignMiddle alignRight">
{goods.mods.REST_VALUE} {goods.mods.MEASURE_NAME}
</td>
<td class="valignMiddle" style="padding-left:1em;">
{% IF CLIENT_IS_LOGIN %}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div style="display: table- caption;">
<a href="{goods.URL}" class="whtgreen" title="Перейти на страницу «{goods.NAME}»">Подробнее</a>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<input name="form[goods_mod_quantity]" class="quantity" maxlength="12" value="1" title="Количество">
<a class="blgreen" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&form%5Bgoods_from%5D={goods.GOODS_FROM}&form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить «{goods.NAME}» в корзину">Купить</a>
</div>
</form>
{% ELSE %}
<span style="color: red;">Пожалуйста, авторизуйтесь!</span>
{% ENDIF %}
</td>
<td>
</td>
</tr>
{% ENDFOR mods %}
</tbody>
{% ENDFOR goods %}
</table>
{% ENDIF %}
</tr>
</table>
</td>
</tr>
<!-- END Список товаров -->
<!-- Подвал таблицы со списком товаров -->
<tr>
<!-- Страницы -->
<td colspan="2" class="alignRight">
<div>
{% IF show_pages %}
<div class="square_pages">
<span>Страницы: </span>
{% FOR goods_pages %}
{% IF goods_pages.CURRENT %}
<b>{goods_pages.PAGE}</b>
{% ELSE %}
<a href="{GOODS_PAGINATE_URL}&page={goods_pages.PAGE}">{goods_pages.PAGE}</a>
{% ENDIF %}
{% ENDFOR %}
</div>
{% ENDIF %}
</div>
</td>
<!-- END Страницы -->
</tr>
<!-- END Подвал таблицы со списком товаров -->
</table>
<!-- Описание категории -->
{% IF CATEGORY_DESCRIPTION %}
<div class="categoryDescriptionBlock">
<div class="htmlDataBlock">
{CATEGORY_DESCRIPTION}
</div>
</div>
{% ENDIF %}
<!-- Короткое SEO описание категории -->
{% IF CATEGORY_SEO_DESCRIPTION_SHORT %}
<div style="padding-bottom:1em;">
{CATEGORY_SEO_DESCRIPTION_SHORT}
</div>
{% ENDIF %}
<!-- Полное SEO описание категории -->
{% IF CATEGORY_SEO_DESCRIPTION_LARGE %}
<div class="categoryDescriptionBlock">
<div class="htmlDataBlock">
{CATEGORY_SEO_DESCRIPTION_LARGE}
</div>
</div>
{% ENDIF %}
{% ENDIF %}
Заранее Спасибо
#157
Отправлено 14 Июль 2014 - 22:16
#158
Отправлено 15 Июль 2014 - 01:33
И по какой теме вы реализовывали увеличение изображения в каталоге, с модификация эта функция не должна быть связана.
Выше описывается способ изменения отображения модификаций с выпадающего списка в табличное отображение в карточке товара.
#159
Отправлено 15 Июль 2014 - 07:33
#160
Отправлено 16 Июль 2014 - 06:14
Также приложите файл CSV, чтобы мы могли протестировать и далее вас проконсультировать.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных