Категории |
[ХАК] Дополнительные поля в списках товаровКонечно это вариант не универсальный и не очень функциональный. Т.е. еще можно было бы добавить возможность выводить доп. поля не у всех товаров, а у некоторых, добавлять разным товарам разные дополнительные поля и т.д…. $shipping_status_image = @$main->getShippingStatusImage($array['products_shippingtime']); НИЖЕ добавляем этот код /* -------------------------------------------------------- START - ExtraFields by NeBox.ru -------------------------------------------------------- */ if (NEBOX_EF_SHOW == 'true') { $extra_fields_p = NEBOX_EXTRA_FIELDS; if (!empty($extra_fields_p)) $ef = 'ptf.products_extra_fields_id IN ('.$extra_fields_p.') AND'; else $ef = ""; $extra_fields_query = osDBquery(" 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 = ".(int)$array['products_id']." and ".$ef." 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 = os_db_fetch_array($extra_fields_query,true)) { if (! $extra_fields['status']) continue; $extra_f_array[] = array ( 'NAME' => $extra_fields['name'], 'VALUE' => $extra_fields['value'] ); } } /* -------------------------------------------------------- END - ExtraFields by NeBox.ru -------------------------------------------------------- */ Далее, ищем строку (она ниже, в массиве) 'COUNT'=> @$array['ID'], И ниже нее вставляем этот код /*-----------------ExtraFields by NeBox.ru-----------------*/ 'extra_fields' => @$extra_f_array, /*-----------------ExtraFields by NeBox.ru-----------------*/ Сохраняем и закрываем данный файл. Он нам больше не нужен. 2 – открываем файл, например themes\ваш_шаблон\module\new_products_default.html Этот файл выводит новинки на главной странице В нем нужно найти строку {foreach name=aussen item=module_data from=$module_content} Это начало цикла блоков товаров в списке новинок. После этой строчки идет код самого блока товара, вот нужно выделить место под вывод доп. полей ниже этой строчки. В нужное место вставляем {if $module_data.extra_fields} {foreach item=extra_fields from=$module_data.extra_fields}{$extra_fields.NAME} | {$extra_fields.VALUE}<br />{/foreach} {/if} тут нету никаких стилей для вывода, чисто доп. поля разделенные br {$extra_fields.NAME} – название доп поля {$extra_fields.VALUE} – значение (содержимое) Теперь осталось закачать мини-плагин для управления выводом дополнительных полей товара. Плагин нужно закачать в папку modules/plugins/, далее, перейти на страницу плагинов, активировать плагин и настроить как нужно. Источник Дополню описание... спасибо за хак. не видел раньше :) хак не пробовал Спаибо! да Это начало цикла блоков товаров в списке новинок. После этой строчки идет код самого блока товара, вот нужно выделить место под вывод доп. полей ниже этой строчки. куда хотите. в любое удобное место в цикле (после строки {foreach name=aussen item=module_data from=$module_content}) прошу еще в новых версиях сделать возможность добавлять новые категории, подкатегорий неограниченное количество Здрасти, данный хак выводит просто дополнительные поля товара в списках товаров. Спасибо, NeBox |
|