You are here

function theme_uc_catalog_product_grid in Ubercart 6.2

Same name and namespace in other branches
  1. 5 uc_catalog/uc_catalog.module \theme_uc_catalog_product_grid()

Displays a list of products in grid format().

1 theme call to theme_uc_catalog_product_grid()
theme_uc_catalog_products in uc_catalog/uc_catalog.module
Displays a formatted list of products.

File

uc_catalog/uc_catalog.module, line 723
Ubercart Catalog module.

Code

function theme_uc_catalog_product_grid($products) {
  $product_table = '<div class="category-grid-products"><table>';
  $count = 0;
  $context = array(
    'revision' => 'themed',
    'type' => 'product',
  );
  foreach ($products as $nid) {
    $product = node_load($nid);
    $context['subject'] = array(
      'node' => $product,
    );
    if ($count == 0) {
      $product_table .= "<tr>";
    }
    elseif ($count % variable_get('uc_catalog_grid_display_width', 3) == 0) {
      $product_table .= "</tr><tr>";
    }
    $titlelink = l($product->title, "node/{$nid}", array(
      'html' => TRUE,
    ));
    if (module_exists('imagecache') && ($field = variable_get('uc_image_' . $product->type, '')) && isset($product->{$field}) && file_exists($product->{$field}[0]['filepath'])) {
      $imagelink = l(theme('imagecache', 'product_list', $product->{$field}[0]['filepath'], $product->title, $product->title), "node/{$nid}", array(
        'html' => TRUE,
      ));
    }
    else {
      $imagelink = '';
    }
    $product_table .= '<td>';
    if (variable_get('uc_catalog_grid_display_title', TRUE)) {
      $product_table .= '<span class="catalog-grid-title">' . $titlelink . '</span>';
    }
    if (variable_get('uc_catalog_grid_display_model', TRUE)) {
      $product_table .= '<span class="catalog-grid-ref">' . $product->model . '</span>';
    }
    $product_table .= '<span class="catalog-grid-image">' . $imagelink . '</span>';
    if (variable_get('uc_catalog_grid_display_sell_price', TRUE)) {
      $product_table .= '<span class="catalog-grid-sell-price">' . uc_price($product->sell_price, $context) . '</span>';
    }
    if (module_exists('uc_cart') && variable_get('uc_catalog_grid_display_add_to_cart', TRUE)) {
      if (variable_get('uc_catalog_grid_display_attributes', TRUE)) {
        $product_table .= theme('uc_product_add_to_cart', $product);
      }
      else {
        $product_table .= drupal_get_form('uc_catalog_buy_it_now_form_' . $product->nid, $product);
      }
    }
    $product_table .= '</td>';
    $count++;
  }
  $product_table .= "</tr></table></div>";
  return $product_table;
}