mrringo 0 Опубликовано 19 января, 2011 Жалоба Share Опубликовано 19 января, 2011 Здравствуйте! Сейчас вывести атрибуты можно лишь в карточке товара product_info_v1.html кодом: {if $MODULE_product_options !=''} {$MODULE_product_options}{/if} А мне необходимо , чтобы атрибуты были видны и в списке товаров product_listing_list.html Прямой вставкой кода не получается. Что делать? Если такая возможность.? Спасибо. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 января, 2011 Жалоба Share Опубликовано 20 января, 2011 Нет, такого кода по умолчанию в магазине нет. Ссылка на сообщение Поделиться на другие сайты
removed 0 Опубликовано 21 января, 2011 Жалоба Share Опубликовано 21 января, 2011 Файл includes\modules\product_listing.php Найти: // Parameters start[/code] Вставить перед: [code]// Attributes start if (is_array($ids) && sizeof($ids) > 0) { function getAttrCount($pID) { $products_attributes_query = vamDBquery("select count(*) as total from ".TABLE_PRODUCTS_OPTIONS." popt, ".TABLE_PRODUCTS_ATTRIBUTES." patrib where patrib.products_id='".$pID."' and patrib.options_id = popt.products_options_id and popt.language_id = '".(int) $_SESSION['languages_id']."'"); $products_attributes = vam_db_fetch_array($products_attributes_query, true); return $products_attributes['total']; } foreach($module_content as $k => $m) { $pID = $module_content[$k]['PRODUCTS_ID']; if (getAttrCount($pID)) { $products_options_name_query = vamDBquery("select distinct popt.products_options_id, popt.products_options_name,popt.products_options_type,popt.products_options_length,popt.products_options_rows,popt.products_options_size from ".TABLE_PRODUCTS_OPTIONS." popt, ".TABLE_PRODUCTS_ATTRIBUTES." patrib where patrib.products_id='".$pID."' and patrib.options_id = popt.products_options_id and popt.language_id = '".(int) $_SESSION['languages_id']."' order by popt.products_options_name"); $row = 0; $col = 0; $products_options_data = array (); while ($products_options_name = vam_db_fetch_array($products_options_name_query,true)) { $selected = 0; $products_options_array = array (); $products_options_data[$row] = array ( 'NAME' => $products_options_name['products_options_name'], 'TYPE'=>$products_options_name['products_options_type'], 'ROWS'=>$products_options_name['products_options_rows'], 'LENGTH'=>$products_options_name['products_options_length'], 'SIZE'=>$products_options_name['products_options_size'], 'ID' => $products_options_name['products_options_id'], 'DATA' => '' ); $products_options_query = vamDBquery("select pov.products_options_values_id, pov.products_options_values_name, pov.products_options_values_description, pov.products_options_values_text, pov.products_options_values_image, pov.products_options_values_link, pa.attributes_model, pa.options_values_price, pa.price_prefix, pa.attributes_stock, pa.attributes_model from ".TABLE_PRODUCTS_ATTRIBUTES." pa, ".TABLE_PRODUCTS_OPTIONS_VALUES." pov where pa.products_id = '".$pID."' and pa.options_id = '".$products_options_name['products_options_id']."' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '".(int) $_SESSION['languages_id']."' order by pa.sortorder"); $col = 0; $checked = 'checked="checked"'; while ($products_options = vam_db_fetch_array($products_options_query,true)) { $price = ''; if ($_SESSION['customers_status']['customers_status_show_price'] == '0') { $products_options_data[$row]['DATA'][$col] = array ( 'ID' => $products_options['products_options_values_id'], 'TEXT' => $products_options['products_options_values_name'], 'DESCRIPTION' => $products_options['products_options_values_description'], 'SHORT_DESCRIPTION' => $products_options['products_options_values_text'], 'IMAGE' => $products_options['products_options_values_image'], 'LINK' => $products_options['products_options_values_link'], 'MODEL' => $products_options['attributes_model'], 'STOCK' => $products_options['attributes_stock'], 'PRICE' => '', 'FULL_PRICE' => '', 'PREFIX' => $products_options['price_prefix'], 'CHECKED' => $checked, ); $price = ''; $full_price = ''; } else { if ($products_options['options_values_price'] != '0.00') { $price = $vamPrice->GetOptionPrice($pID, $products_options_name['products_options_id'], $products_options['products_options_values_id']); $price = $price['price']; } $products_price = $vamPrice->GetPrice($pID, $format = false, 1, $module_content[$k]['PRODUCTS_TAX_INFO'], $module_content[$k]['PRODUCTS_PRICE']); if ($_SESSION['customers_status']['customers_status_discount_attributes'] == 1 && $products_options['price_prefix'] == '+') $price -= $price / 100 * $discount; $attr_price=$price; //if ($products_options['price_prefix']=="-") { $attr_price=$price*(-1); $price=$attr_price; } $full_price = $products_price + $attr_price; $price_plain = $vamPrice->Format($price, false); $price = $vamPrice->Format($price, true); $full_price = $vamPrice->Format($full_price, true); } $products_options_data[$row]['DATA'][$col] = array ( 'ID' => $products_options['products_options_values_id'], 'TEXT' => $products_options['products_options_values_name'], 'DESCRIPTION' => $products_options['products_options_values_description'], 'SHORT_DESCRIPTION' => $products_options['products_options_values_text'], 'IMAGE' => $products_options['products_options_values_image'], 'LINK' => $products_options['products_options_values_link'], 'MODEL' => $products_options['attributes_model'], 'STOCK' => $products_options['attributes_stock'], 'PRICE' => $price, 'PRICE_PLAIN' => $price_plain, 'FULL_PRICE' => $full_price, 'PREFIX' => $products_options['price_prefix'], 'CHECKED' => $checked, ); $checked = ''; $col ++; } $row ++; } $module_content[$k]['attrib'] = $products_options_data; } } }// Attributes end Открыть файл templates\vamshop\module\product_listing\product_listing_columns.html Найти: <dd class="itemDescription"><p>{foreach name=params item=module_params from=$module_data.params}{$module_params.name}: <strong>{$module_params.value} {$module_params.suff} </strong><br />{/foreach}</p></dd>[/code] После вставить: [code]<!-- ############################################################################ -->{if $module_data.attrib!=''}{foreach name=attrib item=module_attrib from=$module_data.attrib}{if $module_attrib.TYPE eq '1'}<!-- select --><p><strong>{$module_attrib.NAME}:</strong><select name="id[{$module_attrib.ID}]">{foreach key=key_data item=item_data from=$module_attrib.DATA}<option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}</option>{/foreach}</select></p><!-- /select -->{elseif $module_attrib.TYPE eq '2'}<!-- text --><p><strong>{$module_attrib.NAME}:</strong>{foreach key=key_data item=item_data from=$module_attrib.DATA}<strong>{$item_data.TEXT}</strong><input name="id[{$module_attrib.ID}]" type="hidden" value="{$item_data.ID}" /><input name="id[txt_{$module_attrib.ID}_{$item_data.ID}]" type="text" size="{$module_attrib.SIZE}" maxlength="{$module_attrib.LENGTH}" />{if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}{/if}<br />{/foreach}</p><!-- /text -->{elseif $module_attrib.TYPE eq '3'}<!-- textarea --><p><strong>{$module_attrib.NAME}:</strong>{foreach key=key_data item=item_data from=$module_attrib.DATA}<strong>{$item_data.TEXT}</strong><input name="id[{$module_attrib.ID}]" type="hidden" value="{$item_data.ID}" /><textarea name="id[txt_{$module_attrib.ID}_{$item_data.ID}]" cols="20" rows="{$module_attrib.ROWS}"></textarea>{if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}{/if}<br />{/foreach}</p><!-- /textarea -->{elseif $module_attrib.TYPE eq '4'}<!-- radio --><p><strong>{$module_attrib.NAME}:</strong>{foreach key=key_data item=item_data from=$module_attrib.DATA}<!-- changed by mosq // --><input type="radio" name="id[{$module_attrib.ID}]" value="{$item_data.ID}" {$item_data.CHECKED} />{$item_data.TEXT} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}<br />{/if}{if $item_data.SHORT_DESCRIPTION}{$item_data.SHORT_DESCRIPTION}<br />{/if}{if $item_data.IMAGE}<img src="{$image_dir}thumbs/{$item_data.IMAGE}" border="0" alt="{$item_data.TEXT}" />{/if}{if $item_data.LINK}<a align="right" href="http://{$item_data.LINK}" target="_blank"><img src="{$tpl_path}img/info.gif" border="0" alt="{$item_data.TEXT}" /></a>{/if}<br />{/foreach}</p><!-- /radio -->{elseif $module_attrib.TYPE eq '5'}<!-- checkbox --><p><strong>{$module_attrib.NAME}:</strong>{foreach key=key_data item=item_data from=$module_attrib.DATA}<input type="checkbox" name="id[{$module_attrib.ID}]" value="{$item_data.ID}" />{$item_data.TEXT} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}{/if}<br />{/foreach}</p><!-- /checkbox -->{elseif $module_attrib.TYPE eq '6'}<!-- readonly --><p><strong>{$module_attrib.NAME}:</strong>{foreach key=key_data item=item_data from=$module_attrib.DATA}<input type="hidden" name="id[{$module_attrib.ID}]" value="{$item_data.ID}" />{if $item_data.MODEL}({$item_data.MODEL}){/if} {$item_data.TEXT} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}{/if}<br />{/foreach}</p><!-- /readonly -->{/if}{/foreach}{/if}<!-- ############################################################################ --> Или просто: product_listing.php заменить на существующий в includes\modules\ а product_listing_columns.html на тот что в templates\vamshop\module\product_listing\ product_listing.php product_listing_columns.html Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 января, 2011 Жалоба Share Опубликовано 21 января, 2011 Спасибо за код. Если не против, добавил в faq http://vamshop.ru/faq.php Ссылка на сообщение Поделиться на другие сайты
mrringo 0 Опубликовано 21 января, 2011 Автор Жалоба Share Опубликовано 21 января, 2011 Огромное спасибо Добрый Жук-Timurka! Все работает, так я хотел! Grazie Ссылка на сообщение Поделиться на другие сайты
AndreyF. 0 Опубликовано 24 апреля, 2011 Жалоба Share Опубликовано 24 апреля, 2011 Сделал всё по инструкции, атрибуты показываются правильно. Но кнопка "купить" вместо того, чтобы отправлять товар в корзину, переводит на страницу товара. Проверял и с ajax корзиной, и с обычной. Можно как-то настроить, чтобы товар сразу отправлялся в корзину, с учетом выбранных атрибутов? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 25 апреля, 2011 Жалоба Share Опубликовано 25 апреля, 2011 По умолчанию так работает магазин, т.к. атрибуты только на странице карточки товара, поэтому и перекидывает на карточку для выбора атрибутов. Вам тогда можно и править работу кнопки купить в /includes/cart_actions.php Ссылка на сообщение Поделиться на другие сайты
evgeniynix 0 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 Тимурка, прежде всего спасибо за помощь! Я как раз хотел найти что-то подобное. Я сделал все по инструкции, но файлы на сервере не заменял, а переименовал старые (_old). Вставил новые файлы, посмотрел - не очень понравилось, у меня нестандартный шаблон, так что нужно и отображение допиливать.. Пока решил оставить эту затею. Удалил новые файлы, переименовал обратно старые. Но! Ничего обратно не изменилось.. :( Глупые ошибки, вроде ошибкт в имени файла проверил.. В чем может быть проблема? Запаздывание обновления на сервере? Так первые изменения сразу применились.. Подскажите, пожалуйста, что делать чтобы наверняка вернуть все как было? :) Ссылка на сообщение Поделиться на другие сайты
evgeniynix 0 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 Разобрался уже. Очистил кэш из админки и все стало на свои места. Также указал время хранения файлов 0 (вместо 3600). Хочу уточнить, не повлияет ли это на работу других функций сайта?? Спасибо заранее. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 Не должно, по идее. Ссылка на сообщение Поделиться на другие сайты
evgeniynix 0 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 Не должно, по идее. Спасибо. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 Так это автору кода спасибо :) Ссылка на сообщение Поделиться на другие сайты
evgeniynix 0 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 Так это автору кода спасибо :) Автору спасибо я уже высказал :) Ссылка на сообщение Поделиться на другие сайты
easton 0 Опубликовано 21 марта, 2012 Жалоба Share Опубликовано 21 марта, 2012 Здравствуйте! Помогите найти решение данной проблемы вывода атрибутов в product_listing_columns.html в версии Vamshop 1.65 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 марта, 2012 Жалоба Share Опубликовано 21 марта, 2012 Выше есть сообщение с кодом. Либо создайте тему в разделе Коммерческие предложения и ссылку на эту тему дайте, что б Вам поставили этот код, раз самостоятельно не можете его вставить. Ссылка на сообщение Поделиться на другие сайты
easton 0 Опубликовано 21 марта, 2012 Жалоба Share Опубликовано 21 марта, 2012 Вставить код могу, но в выше указанных файлах нет // Parameters start Вышеуказанный код актуален до сентября 2011, до выпуска очередного обновления Версия 1.64, в файле \templates\vamshop\module\product_listing\product_listing_columns.html вместо строчек {foreach name=params item=module_params from=$module_data.params} {$module_params.name}: <strong>{$module_params.value} {$module_params.suff} </strong><br /> {/foreach}[/CODE] [b]в Версии 1.65 [/b]и последующих появились новые строчки в файле [b]\vamshop\module\product_listing\product_listing_list.html [/b] [CODE] {if $module_data.EXTRA_FIELDS} {foreach item=extra_fields from=$module_data.EXTRA_FIELDS} {$extra_fields.NAME}: {$extra_fields.VALUE}<br /> {/foreach} {/if} Подскажите куда копать. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 марта, 2012 Жалоба Share Опубликовано 21 марта, 2012 Да, этого кода уже нет. Попробуйте вставить например после: $module->assign('NAVIGATION_PAGES', $navigation_pages); [/code] А в шаблонах без разницы куда вставлять, главное, по идее, что б внутри foreach.../foreach было. Ссылка на сообщение Поделиться на другие сайты
easton 0 Опубликовано 23 марта, 2012 Жалоба Share Опубликовано 23 марта, 2012 Не работает, всё перепробовал. Судя по поиску форума, подобная функция очень востребована и актуальна аж с 2010 года. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения