support 446 Posted March 25, 2008 Author Report Share Posted March 25, 2008 Нужно попробовать код доп. полей из /includes/modules/product_info.php Вот этот: $extra_fields_query = vam_db_query(" SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id=". $product->data['products_id'] ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".$_SESSION['languages_id']."') ORDER BY products_extra_fields_order"); while ($extra_fields = vam_db_fetch_array($extra_fields_query,true)) { if (! $extra_fields['status']) // show only enabled extra field continue; $extra_fields_data[] = array ( 'NAME' => $extra_fields['name'], 'VALUE' => $extra_fields['value'] ); } $info->assign('extra_fields_data', $extra_fields_data);[/code]Перенести в /includes/modules/compare.php и /includes/modules_product_compare.phpА также в шаблоны сравнения товаров добавить те же метки доп. полей, что и в шаблоне карточки товара в /templates/шаблон/module/product_info/product_info_v1.html Link to post Share on other sites
one 0 Posted March 25, 2008 Report Share Posted March 25, 2008 А куда именно этот код вставлять? Link to post Share on other sites
support 446 Posted March 25, 2008 Author Report Share Posted March 25, 2008 Вставь перед: $module->assign('language', $_SESSION['language']);[/code]Только в этом коде, который будешь вставлять поменяй $info->assign на $module->assign Link to post Share on other sites
one 0 Posted March 25, 2008 Report Share Posted March 25, 2008 Что то не того: MYSQL ERROR REPORT - 25/03/2008 20:03:11 --------------------------------------- 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languag' at line 5 SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM products_extra_fields pef LEFT JOIN products_to_products_extra_fields ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id= and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='1') ORDER BY products_extra_fields_order --------------------------------------- Server Name : www.DOMAIN.COM Remote Address: 89.207.242.1 Referer : http://www.DOMAIN.COM/BLA-BLA-BLA Requested : /product_compare.php?products%5B%5D=729&products%5B%5D=716 Trace Back : product_compare.php:27(includearray(1) {; [0]=>; string(64) "includes/modules/product_compare.php"; }; ) => includes/modules/product_compare.php:127(vam_db_query) => inc/vam_db_query.inc.php:34(vam_db_error) Link to post Share on other sites
support 446 Posted March 26, 2008 Author Report Share Posted March 26, 2008 Попробуй заменить в /includes/modules/product_compare.php, в коде, что ты добавил: WHERE ptf.products_id=". $product->data['products_id'] ." and[/code] на: [code]WHERE ptf.products_id IN (".implode(", ", $temp).") and Link to post Share on other sites
one 0 Posted March 26, 2008 Report Share Posted March 26, 2008 Не помогло... Link to post Share on other sites
support 446 Posted March 26, 2008 Author Report Share Posted March 26, 2008 Ошибка точно такая же или что-то поменялось? Link to post Share on other sites
one 0 Posted March 26, 2008 Report Share Posted March 26, 2008 Да... Все тоже самое... Link to post Share on other sites
support 446 Posted March 27, 2008 Author Report Share Posted March 27, 2008 Вобщем, /includes/modules/compare.php не трогай вообще, он тут непричём. А в /includes/modules/product_compare.php попробуй вот такой код: $extra_fields_query = vam_db_query(" SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id IN (".implode(", ", $c_id).") and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".$_SESSION['languages_id']."') ORDER BY products_extra_fields_order"); while ($extra_fields = vam_db_fetch_array($extra_fields_query,true)) { if (! $extra_fields['status']) // show only enabled extra field continue; $extra_fields_data[] = array ( 'NAME' => $extra_fields['name'], 'VALUE' => $extra_fields['value'] ); } $info->assign('extra_fields_data', $extra_fields_data);[/code] Link to post Share on other sites
one 0 Posted March 27, 2008 Report Share Posted March 27, 2008 Уже лучше... но выводит данные в две колонки наименование и значение... Как то надо вывести что бы наименование в одной колонке и один раз а значение уже для каждого наименования в своей колонке относительно выбранного товара для сравнения... Link to post Share on other sites
support 446 Posted March 27, 2008 Author Report Share Posted March 27, 2008 Это нужно как-то поправить шаблон, может вставить метки доп. полей внутрь выводимых характеристик или ещё как-то, даже не могу точнее сказать, вобщем, в любом случае, нужно как-поправить /templates/шаблон/module/product_compare.html Link to post Share on other sites
one 0 Posted April 1, 2008 Report Share Posted April 1, 2008 Посидел подумал и выдумал... Вот оригинальный код оформления вывода дополнительных полей: <table>{foreach name=aussen item=extra_fields from=$extra_fields_data} <tr> <td><b>{$extra_fields.NAME}:</b></td> <td>{$extra_fields.VALUE}</td> </tr>{/foreach}</table>[/code] Выводиться столько полей сколько их у каждого товара... Глупо... В нашем случае надо что бы было так: [code]<table>{foreach name=aussen item=extra_fields from=$extra_fields_data} <tr><!-- выводим по одному разу --> <td><b>{$extra_fields.NAME}:</b></td> </tr><!-- /выводим по одному разу --><!-- выводим столько сколько надо --> <tr> <td>{$extra_fields.VALUE}</td> </tr><!-- /выводим столько сколько надо -->{/foreach}</table> Примерно так я думаю... Link to post Share on other sites
support 446 Posted April 2, 2008 Author Report Share Posted April 2, 2008 Наверное, я просто не пробовал, ты посмотри как сделан шаблон сравнения и примерно тоже самое пробуй делать с доп. полями. Link to post Share on other sites
mad_infinity 0 Posted July 21, 2008 Report Share Posted July 21, 2008 После обновления до версии 1,46, при переустановке (поверх) выает это: Не могу найти : /* Begin compare - installed by Установка модулей */ define('FILENAME_COMPARE_PARAMETERS', 'compare_parameters.php'); define('TABLE_PRODUCTS_COMPARE_PARAMETERS', 'products_compare_parameters'); define('TABLE_PRODUCTS_COMPARE_PARAMETERS2PRODUCTS', 'products_compare_parameters2products'); /* End compare - installed by Установка модулей */ в файле: /home/madinfini/domains/dct-live.com/public_html/admin/includes/application_top.php <add2end> #1 А в карточке товара появилось такое сообщение: Warning: Smarty error: unable to read resource: "vamshop_table/module/product_parameters.html" in /home/madinfini/domains/dct-live.com/public_html/includes/external/smarty/Smarty.class.php on line 1092 Теперь когда хочу задать параметры - выкидывает на "главную" магазина. Link to post Share on other sites
support 446 Posted July 22, 2008 Author Report Share Posted July 22, 2008 А если руками попробовать поставить, читая readme.txt?! Или нужно именно что б автоматом без ошибки было? Link to post Share on other sites
PlazaUA 0 Posted July 22, 2008 Report Share Posted July 22, 2008 а можно гдето это посмотреть в живую как оно сравнивает товары? Link to post Share on other sites
mad_infinity 0 Posted July 22, 2008 Report Share Posted July 22, 2008 А если руками попробовать поставить, читая readme.txt?! Или нужно именно что б автоматом без ошибки было? Дык работалож на автомате :) Попробую руками. Просто думал есть более простое решение. Перед тем как руками ставить, нужно в админке модуль удалить? Или не обязательно? И еще: в readme.txt написанно: Откройте файл /templates/vamshop/module/product_listing/product_listing_columns.html Ищите: {foreach name=aussen item=module_data from=$module_content} Добавляйте после: <form action="{$smarty.const.FILENAME_PRODUCT_COMPARE}"> Добавлять после {foreach name=aussen item=module_data from=$module_content} это сразу после? или с новой строки? {foreach name=aussen item=module_data from=$module_content}<form action="{$smarty.const.FILENAME_PRODUCT_COMPARE}"> ТАК? {foreach name=aussen item=module_data from=$module_content} <form action="{$smarty.const.FILENAME_PRODUCT_COMPARE}"> ИЛИ ТАК? Link to post Share on other sites
support 446 Posted July 22, 2008 Author Report Share Posted July 22, 2008 Я вот сейчас попробовал модуль compare.zip поставить на "автомате" через Админку - Модули - Установка модулей. Всё нормально установилось. Что значит при переустановке модуля вот ты пишешь?! Вобщем, если патч накатил, у модуль compare не удалял перед патчем, лучше попобовать руками по readme.txt поставить. По поводу вопроса, как правильно. Правильно и так и так, без разницы. Link to post Share on other sites
mad_infinity 0 Posted July 22, 2008 Report Share Posted July 22, 2008 переустанавливал модуль после того как пропатчил. Модуль ставил через админку, предварительно удалив уже установленный (удалил тож через админку) По поводу вопроса, как правильно. Правильно и так и так, без разницы. Это я так понимаю ответ на мой вопрос по поводу вставки кодов? Ответ на мой предыдущий топ? Link to post Share on other sites
support 446 Posted July 22, 2008 Author Report Share Posted July 22, 2008 Я не знаю, почему у Вас проблема, я ж вот попробовать на автомате установить, модуль установился. Если у Вас не ставится, попробуйте по readme.txt, там же не сложно вроде бы. Link to post Share on other sites
pitch Maxim 0 Posted August 16, 2008 Report Share Posted August 16, 2008 Читал, читал, смотрю много исправлений а где финальный релиз со всеми исправлениями лежит не понял :( Link to post Share on other sites
support 446 Posted August 16, 2008 Author Report Share Posted August 16, 2008 В файлах на vamshop.ru Link to post Share on other sites
tehnoclub 0 Posted August 24, 2008 Report Share Posted August 24, 2008 Саша привет. Хочу внести небольшое предложение по модулю... Если я не ошибаюсь - то модуль работает следующим образом - Для сравнения необходимо чтобы все сравниваемые товары находились на одной странице. Но, к примеру, если нам нужно сравнить ноутбуки (а их предположим в категорогии 100 штук), то единственных способ сравнить конкретные модели - это вывести на странице все 100 ноутов, что, естественно, увеличит время загрузки и заставит клиента выбирать из 100 штук необходимые модели. Думаю, целесообразней было бы сделать примерно так http://hotline.ua/gd/12/ чтобы при выборе товара, данные о выбранном товаре сохранялись и при просмотре следующего количество товаров - можна было бы добавить новый товар для сравнения с товарами, выбранными в прошлом. Link to post Share on other sites
support 446 Posted August 24, 2008 Author Report Share Posted August 24, 2008 Идея хорошая, но я даже не знаю как её реализовать, пока что реализовать такое не получится, к сожалению. Link to post Share on other sites
mega 0 Posted October 16, 2008 Report Share Posted October 16, 2008 а как сделать чтоб выводилось полное писание товара??? при сравнении!? Link to post Share on other sites
Recommended Posts