function theme_uc_catalog_product_grid in Ubercart 6.2
Same name and namespace in other branches
- 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;
}