MaZa 10 Posted November 18, 2012 Report Share Posted November 18, 2012 всем привет! такой вопросец: как на странице листинга товаров вывести спецификации товаров? есть такой шаблон: product_listing_columns.html в нём я обнаружил: <div class="ProductsListListDesc"> {foreach name=params item=module_params from=$module_data.params} {$module_params.name}:<strong>{$module_params.value} {$module_params.suff} </strong><br /> {/foreach} </div> [/CODE] вроде похоже на то, что мне нужно, но на сайте движок создает такой html: [CODE] <div class="ProductsListListDesc"> </div> Link to post Share on other sites
support 447 Posted November 18, 2012 Report Share Posted November 18, 2012 По умолчанию такой возможности нет пока что. Link to post Share on other sites
MaZa 10 Posted November 19, 2012 Author Report Share Posted November 19, 2012 а вот этот код который я обнаружил он для чего предназначался? подскажите, пожалуйста. Link to post Share on other sites
MaZa 10 Posted November 19, 2012 Author Report Share Posted November 19, 2012 я так догадываюсь этот код заменили на: {foreach item=extra_fields from=$module_data.EXTRA_FIELDS} {$extra_fields.NAME}: {$extra_fields.VALUE}<br /> {/foreach} [/CODE] (это из шаблона vamshop2) он выводит extra_fields - дополнительные поля всё равно интересно, что этот код должен выводить (тот который в первом сообщении) :) Link to post Share on other sites
support 447 Posted November 19, 2012 Report Share Posted November 19, 2012 Такого кода, что Вы привели, по умолчанию нет сейчас. Выводить можно только доп. поля, но не спецификации. В следующих версиях, видимо, добавится и вывод спецификаций, но пока нет. Кстати, добавьте пожелание такое, если не сложно - http://vamshop.ru/forum/tracker/ Link to post Share on other sites
MaZa 10 Posted November 20, 2012 Author Report Share Posted November 20, 2012 не сложно. вотъ :) Link to post Share on other sites
support 447 Posted November 20, 2012 Report Share Posted November 20, 2012 Спасибо Link to post Share on other sites
MaZa 10 Posted November 25, 2012 Author Report Share Posted November 25, 2012 сделал временное решение, пока эта возможность не войдет в официальный релиз. интересно, что вы скажите, Александр. в файле /includes/classes/product.php в функцию buildDataArray() я добавил: $spec_fields_query = vamDBquery("SELECT `pr_spec`.`products_id`, `spec_desc`.`specification_name` as `name`, `spec_desc`.`specification_prefix` as `prefix`, `pr_spec`.`specification` as `value`, `spec_desc`.`specification_suffix` as `suffix` FROM `products_specifications` as `pr_spec` LEFT JOIN `specification_description` as `spec_desc` ON `spec_desc`.`specifications_id` = `pr_spec`.`specifications_id` WHERE `pr_spec`.`products_id` = ' ".(int)$array['products_id']." ' LIMIT 0, 3"); while ($spec_fields = vam_db_fetch_array($spec_fields_query,true)) { $spec_fields_data[] = array ( 'NAME' => $spec_fields['name'], 'PREFIX' => $spec_fields['prefix'], 'VALUE' => $spec_fields['value'], 'SUFFIX' => $spec_fields['suffix'] ); } [/CODE] а в массив для шаблонизатора (return array) я добавил: [CODE] 'SPEC_FIELDS'=>$spec_fields_data, в шаблоне шаблон/module/product_listing/product_listing_columns.html добавил: {foreach item=spec_fields from=$module_data.SPEC_FIELDS} {$spec_fields.NAME}: {$spec_fields.PREFIX} {$spec_fields.VALUE} {$spec_fields.SUFFIX}<br /> {/foreach} [/code] делал по аналогии того, как выводятся дополнительные поля ака extra_fields, а запрос для бд изначально посмотрел в файлах спецификации, но не понял кучу вещей зачем нужны и написал свой запрос. для заметки, запрос я накопал следующий, который формируется на карточке товара: [CODE] select ps.specification, s.filter_display, s.enter_values, sd.specification_name, sd.specification_prefix, sd.specification_suffix, s.specification_group_id, sg.specification_group_name from products_specifications ps, specifications s, specification_description sd, specification_groups sg, specification_groups_to_categories sg2c where sg.show_products = 'True' and s.show_products = 'True' and s.specification_group_id = sg.specification_group_id and sg.specification_group_id = sg2c.specification_group_id and sg.specification_group_id = '6' and sd.specifications_id = s.specifications_id and ps.specifications_id = sd.specifications_id and sg2c.categories_id = '83' and ps.products_id = '3192' and sd.language_id = '1' and ps.language_id = '1' order by s.specification_sort_order,sd.specification_name с группами я заморочек не понял, с языками тоже. по этому писал свой запрос в надежде на то, что для того чтобы вывести спецификации товара в листинге достаточно будет знать id товара. Вроде работает норм. (проблем не замечено). но всё же.. интересно мнение автора. Link to post Share on other sites
support 447 Posted November 26, 2012 Report Share Posted November 26, 2012 Примерно так оно и делается. Спасибо за код, наверное его и возьмём за основу, поправив чуть, если будет необходимость. Link to post Share on other sites
MaZa 10 Posted November 26, 2012 Author Report Share Posted November 26, 2012 та не за что. Один момент ещё, хочу добавить. Чтобы не переполнять листинг инфой, в моём запросе стоит LIMIT на 3 строки. Я бы предложил добавить в запрос ещё сортировку по порядку, который установлен в админке в модуле спецификаций. Чтобы из админки можно было настроить какие именно 3 позиции характеристик товара будут отображаться в листинге. итого, запрос в бд будет выглядеть так: SELECT `pr_spec`.`products_id`, `spec_desc`.`specification_name` as `name`, `spec_desc`.`specification_prefix` as `prefix`, `pr_spec`.`specification` as `value`, `spec_desc`.`specification_suffix` as `suffix`, `spec`.`specification_sort_order` as `sort` FROM `products_specifications` as `pr_spec` LEFT JOIN `specification_description` as `spec_desc` ON `spec_desc`.`specifications_id` = `pr_spec`.`specifications_id` LEFT JOIN `specifications` as `spec` ON `spec`.`specifications_id` = `pr_spec`.`specifications_id` WHERE `pr_spec`.`products_id` = '".(int)$array['products_id']."' ORDER BY `sort` ASC LIMIT 0, 3 [/CODE] Link to post Share on other sites
support 447 Posted November 26, 2012 Report Share Posted November 26, 2012 Спасибо, разберёмся. Link to post Share on other sites
buddha 0 Posted August 30, 2015 Report Share Posted August 30, 2015 В следующих версиях, видимо, добавится и вывод спецификаций... Добрый день Подскажите, внесены ли указанные дополнения? Link to post Share on other sites
support 447 Posted August 30, 2015 Report Share Posted August 30, 2015 Нет, в списке товара пока спецификаций нет. Только фильтр выводит внутри категории. Link to post Share on other sites
Zempik 1 Posted October 30, 2019 Report Share Posted October 30, 2019 Подскажите, сейчас есть возможно вывести спецификации на странице товара? Link to post Share on other sites
support 447 Posted October 30, 2019 Report Share Posted October 30, 2019 8 часов назад, Zempik сказал: Подскажите, сейчас есть возможно вывести спецификации на странице товара? Конечно, по умолчанию они и выводятся. Вот пример - http://demo.vamshop.ru/samsung-galaxy-note-3.html Батарея, Вес, Память - это и есть спецификации. Link to post Share on other sites
IIT 0 Posted December 24, 2021 Report Share Posted December 24, 2021 Подскажите, пожалуйста, как вывести спецификации не списком, а по одной? Link to post Share on other sites
support 447 Posted December 24, 2021 Report Share Posted December 24, 2021 7 часов назад, IIT сказал: Подскажите, пожалуйста, как вывести спецификации не списком, а по одной? Создайте тикет в тех. поддержку - https://forum.vamshop.ru/support/ Link to post Share on other sites
Recommended Posts