|
Возникла необходимость вывести на первую страницу магазина на движке OsCommerce содержимое определенной категории. Причем внешний вид должен быть таким же, как у New Products Modulе. В contributions ничего подходящего не нашел, поэтому решил взять модуль new_products и немного модифицировать его. В результате получился модуль, позволяющий выводить содержимое определенной категории в виде модуля(а ля new products, specials, featured)
В директории /includes/modules/ создаем файл custom_category_products.php следующего содержания: <?php /* show selected category */ ?> <!-- show products from custom category //--> <?php $custom_cat = 999; // define categories_id from categories_description table $info_box_contents = array(); $info_box_contents[] = array('text' => sprintf('CUSTOM CATEGORY NAME', strftime('%B')));
new contentBoxHeading($info_box_contents);
$custom_cat_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = '" . $custom_cat . "' and c.parent_id = '" . (int)$custom_cat_products_category_id . "' and p.products_status = '1'");
$row = 0; $col = 0; $info_box_contents = array(); while ($custom_cat_products = tep_db_fetch_array($custom_cat_products_query)) { $custom_cat_products['products_name'] = tep_get_products_name($custom_cat_products['products_id']); $info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" width="33%" valign="top"', 'text' => '<a xhref="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $custom_cat_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $custom_cat_products['products_image'], $custom_cat_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a xhref="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $custom_cat_products['products_id']) . '">' . $custom_cat_products['products_name'] . '</a><br>' . $currencies->display_price($custom_cat_products['products_price'], tep_get_tax_rate($custom_cat_products['products_tax_class_id'])));
$col ++; if ($col > 2) { $col = 0; $row ++; } }
new contentBox($info_box_contents); ?> <!-- show products from custom category eof //--> Значение переменной $custom_cat замените на значение categories_id, sprintf('CUSTOM CATEGORY NAME' - замените на название категории.
В файле, в котором вы хотите разместить модуль(например, index.php), вставляем: <!-- custom category module --> <tr> <td><br><?php include(DIR_WS_MODULES . 'custom_category_products.php'); ?></td> </tr> <!-- custom category module eof --> Готово. |