CyberW 0 Опубликовано 11 марта, 2008 Жалоба Share Опубликовано 11 марта, 2008 Подскаже, пожалуйста, как в "версии для печати" карточки товара вывести тех. параметры для модуля Сравнение товаров (не для TPT). Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 марта, 2008 Жалоба Share Опубликовано 12 марта, 2008 CyberW А как с php, дружите хоть немного?! Просто я вот писал как выводить тех. параметры в версии для печати для модуля TPT - http://vamshop.ru/support/modules/smf/index.php?topic=204.msg1306#msg1306 В принципе, тоже самое, только чуть поправить. Если не получится, напишите, попробую тогда написать ка кименно для модуля сравнения товаров сделать. Ссылка на сообщение Поделиться на другие сайты
CyberW 0 Опубликовано 12 марта, 2008 Автор Жалоба Share Опубликовано 12 марта, 2008 я по аналогии http://vamshop.ru/support/modules/smf/index.php?topic=204.msg1306#msg1306 начал делать, не получилось к сожалению, поэтому решил спросить в файле compare.php нет кода $info_smarty->assign('MODULE_tpt',$module); чтоб его заменить, там есть $info->assign('MODULE_tpt',$product_info); поэтому не понятно что менять и на что... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 марта, 2008 Жалоба Share Опубликовано 12 марта, 2008 Вобщем, принцип тот же. Копируй /includes/modules/compare.php в /includes/modules/compare_print.php Открывай /includes/modules/compare_print.php Внизу исправляй: $info->assign('MODULE_tpt',$product_info);[/code] на: [code] $vamTemplate->assign('MODULE_tpt',$product_info); Теперь нужно добавить подключение compare_print.php на страницу версия для печати, открывай /print_product_info.php После: $vamTemplate->assign('PRODUCTS_PRICE', $products_price['formated']);[/code] Добавляй: [code]include (DIR_WS_MODULES . 'compare_print.php'); и последнее, нужно просто добавить метку: {$MODULE_tpt}[/code]в шаблон страницы версия для печати - /templates/шаблон/module/print_product_info.html Ссылка на сообщение Поделиться на другие сайты
CyberW 0 Опубликовано 13 марта, 2008 Автор Жалоба Share Опубликовано 13 марта, 2008 Большое спасибо, получилось! Но есть одна проблема, при выводе страницы print_product_info.php, не учитывается файл шаблона ..\my_template\module\product_parameters.html который отвечает за вывод характеристик у карточки товара, можно его как то подключить ? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 марта, 2008 Жалоба Share Опубликовано 13 марта, 2008 Почему, учитывает. Посмотри в /includes/modules/compare_print.php Поищи там по .html т.е. метка {$MODULE_tpt} строится по шаблону /templates/шаблон/module/product_parameters.html Ссылка на сообщение Поделиться на другие сайты
CyberW 0 Опубликовано 14 марта, 2008 Автор Жалоба Share Опубликовано 14 марта, 2008 Посмотрел шаблон /templates/шаблон/module/product_parameters.html, там оказывается нет подгрузки стилей css, поэтому небыло нужного оформления. Есть пожелание изменить сам модуль "Сравнение товаров", в частности расширить поле для хранения значений характеристик до уровня mediumtext вместо varchar(255), а то не помещаются некоторые значения характеристик товара. Для уже установленного модуля можно обновить базу этой командой: ALTER TABLE `products_compare_parameters2products` CHANGE `products_parameters2products_value` `products_parameters2products_value` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci но лучше конечно поменять в дистрибутиве модуля, в разделе Файлы. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 марта, 2008 Жалоба Share Опубликовано 14 марта, 2008 CyberW Я даже и не знаю, стоит ли на mediumtext менять. Пусть пока останется 255 символов. Если что, я на твой совет буду ссылку давать. Ссылка на сообщение Поделиться на другие сайты
CyberW 0 Опубликовано 14 марта, 2008 Автор Жалоба Share Опубликовано 14 марта, 2008 Так же нужно расширить размер поля products_parameters2products_order, т.к. в нем максимальное возможное значение это 127, а если характеристик больше, то сортировка не работает. Для расширения поля products_parameters2products_order необходимо выполнить следующий код для MySql: ALTER TABLE `products_compare_parameters2products` CHANGE `products_parameters2products_order` `products_parameters2products_order` INT( 5 ) DEFAULT '0' Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 марта, 2008 Жалоба Share Опубликовано 15 марта, 2008 Спасибо, обновил архив с модулем. Ссылка на сообщение Поделиться на другие сайты
CyberW 0 Опубликовано 24 марта, 2008 Автор Жалоба Share Опубликовано 24 марта, 2008 Время от времени в логах появляются ошибки в модуле "Сравнение товаров". Вот лог: 24/03/2008 06:03:20 | 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 pp.products_parameters_id is not null and products_parameters_order >= 0 a' at line 1 | SELECT * FROM products_compare_parameters2products as pp2p LEFT JOIN products_compare_parameters as pp using(products_parameters_id) WHERE products_id IN () and pp.products_parameters_id is not null and products_parameters_order >= 0 and products_parameters2products_order >= 0 order by IF(products_parameters2products_order > 0, products_parameters2products_order, products_parameters_order) | /print_product_info.php/products_id/templates/my_template/db_error.html Этот sql запрос находится в файлах: \includes\modules\product_compare.php и \includes\modules\compare.php Ошибка возникает из-за того что в sql запрос передается пустой параметр, в этом месте - (".implode(", ", $c_id).") Нужно добавить проверку количества элементов в массиве $c_id: count($c_id)>0 Вот исправленный кусок кода, примерно 60строка в этих файлах: if (count($c_id)>0) { $parameters_query = vamDBquery("SELECT * FROM " . TABLE_PRODUCTS_COMPARE_PARAMETERS2PRODUCTS . " as pp2p LEFT JOIN " . TABLE_PRODUCTS_COMPARE_PARAMETERS . " as pp using(products_parameters_id) WHERE products_id IN (".implode(", ", $c_id).") and pp.products_parameters_id is not null and products_parameters_order >= 0 and products_parameters2products_order >= 0 order by IF(products_parameters2products_order > 0, products_parameters2products_order, products_parameters_order)");}[/code] Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2008 Жалоба Share Опубликовано 24 марта, 2008 Спасибо, архив с модулем поправил. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения