
Originally Posted by
Absolute
In terms of replacing the input boxes with a red cross image or similar, you would need to have "Stock by Attribute" module installed, and then use the following code:
In includes/modules/attributes.php, the
FOR statement found around line 136 should be replaced with the following:
Code:
for($grh=0; $grh < $grh_size; $grh++) {
$attributes_ids = array( $grid_records['H']['id'] => $grid_records['H']['options'][$grh]['id'],
$grid_records['V']['id'] => $grid_records['V']['options'][$grv]['id']
);
$products_attribs_id = zen_get_uprid((int)$_GET['products_id'], $attributes_ids);
$stock_check_array = array();
if (zen_not_null($grid_records['H']['options'][$grh]['name'])) $stock_check_array[] = $grid_records['H']['options'][$grh]['id'];
if (zen_not_null($grid_records['V']['options'][$grv]['name'])) $stock_check_array[] = $grid_records['V']['options'][$grv]['id'];
$attrib_grid .= '<td class="attrib-grid-cell" id="attrib-grid-cell-'.$grid_records['H']['options'][$grh]['id'].'-'.$grid_records['V']['options'][$grv]['id'].'">'.
(zen_get_products_stock($_GET['products_id'], $stock_check_array) > 0 ?
zen_draw_input_field('products_id['.$products_attribs_id.']', '', 'size="3"').
zen_draw_hidden_field('attribs['.$products_attribs_id.']['.$grid_records['H']['id'].']', $grid_records['H']['options'][$grh]['id']).
zen_draw_hidden_field('attribs['.$products_attribs_id.']['.$grid_records['V']['id'].']', $grid_records['V']['options'][$grv]['id'])
: zen_image(DIR_WS_IMAGES.'item_out_stock.gif)).
'</td>';
}
Hope this helps.
Absolute
Yes I do have the stock by attributes installed and your fix worked. But there was one small error in the code it was missing a '. So for anyone else wanting this to little fix to work:
In includes/modules/attributes.php (or if you are like me that uses the template override system includes/modules/YOUR_TEMPLATE/attributes.php)
Find:
Code:
for($grh=0; $grh < $grh_size; $grh++) {
$attributes_ids = array( $grid_records['H']['id'] => $grid_records['H']['options'][$grh]['id'],
$grid_records['V']['id'] => $grid_records['V']['options'][$grv]['id']
);
$products_attribs_id = zen_get_uprid((int)$_GET['products_id'], $attributes_ids);
$attrib_grid .= '<td class="attrib-grid-cell" id="attrib-grid-cell-'.$grid_records['H']['options'][$grh]['id'].'-'.$grid_records['V']['options'][$grv]['id'].'">'.
zen_draw_input_field('products_id['.$products_attribs_id.']', '', 'size="3"').'<br />'.
zen_draw_hidden_field('attribs['.$products_attribs_id.']['.$grid_records['H']['id'].']', $grid_records['H']['options'][$grh]['id']).
zen_draw_hidden_field('attribs['.$products_attribs_id.']['.$grid_records['V']['id'].']', $grid_records['V']['options'][$grv]['id']).
'</td>';
}
Replace:
Code:
for($grh=0; $grh < $grh_size; $grh++) {
$attributes_ids = array( $grid_records['H']['id'] => $grid_records['H']['options'][$grh]['id'],
$grid_records['V']['id'] => $grid_records['V']['options'][$grv]['id']
);
$products_attribs_id = zen_get_uprid((int)$_GET['products_id'], $attributes_ids);
$stock_check_array = array();
if (zen_not_null($grid_records['H']['options'][$grh]['name'])) $stock_check_array[] = $grid_records['H']['options'][$grh]['id'];
if (zen_not_null($grid_records['V']['options'][$grv]['name'])) $stock_check_array[] = $grid_records['V']['options'][$grv]['id'];
$attrib_grid .= '<td class="attrib-grid-cell" id="attrib-grid-cell-'.$grid_records['H']['options'][$grh]['id'].'-'.$grid_records['V']['options'][$grv]['id'].'">'.
(zen_get_products_stock($_GET['products_id'], $stock_check_array) > 0 ?
zen_draw_input_field('products_id['.$products_attribs_id.']', '', 'size="3"').
zen_draw_hidden_field('attribs['.$products_attribs_id.']['.$grid_records['H']['id'].']', $grid_records['H']['options'][$grh]['id']).
zen_draw_hidden_field('attribs['.$products_attribs_id.']['.$grid_records['V']['id'].']', $grid_records['V']['options'][$grv]['id']).
:zen_image(DIR_WS_IMAGES.'item_out_stock.gif')).
'</td>';
}
Also remember to upload the image to /images/item_out_stock.gif
We just used a similar X like on Absoulte's website.
Thanks again to Absolute for a great module and very simple fix.
Bookmarks