mugitty Posted January 15, 2005 Posted January 15, 2005 I would like to be able to show different alt text for the right arrow that appears in some of the boxes, depending on which box it is. I assume that it can be accomplished by creating some if statements in the language file where the original text for that arrow appears as define('ICON_ARROW_RIGHT', 'more...'); but am unsure of how to write it. Any help is appreciated. ... if you want to REALLY see something that doesn't set up right out of the box without some tweaking, try being a Foster Parent!
mugitty Posted January 15, 2005 Author Posted January 15, 2005 I tried something like this in the english language file but no luck in changing the alt text... if (DIR_WS_BOXES == specials.php) { define('ICON_ARROW_RIGHT', 'View all Specials'); } else { define('ICON_ARROW_RIGHT', 'more...'); } Any suggestions??? ... if you want to REALLY see something that doesn't set up right out of the box without some tweaking, try being a Foster Parent!
Guest Posted January 15, 2005 Posted January 15, 2005 Try this for your shopping_cart.php <?php /* $Id: shopping_cart.php,v 1.18 2003/02/10 22:31:06 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ ?> <!-- shopping_cart //--> <tr> <td> <?php class infoBoxCartHeading extends tableBox { function infoBoxCartHeading($contents, $left_corner = true, $right_corner = true, $right_arrow = false) { $this->table_cellpadding = '0'; if ($left_corner == true) { $left_corner = tep_image(DIR_WS_IMAGES . 'infobox/corner_left.gif'); } else { $left_corner = tep_image(DIR_WS_IMAGES . 'infobox/corner_right_left.gif'); } if ($right_arrow == true) { $right_arrow = '<a href="' . $right_arrow . '">' . tep_image(DIR_WS_IMAGES . 'infobox/arrow_right.gif', 'Your favourite shoping cart') . '</a>'; } else { $right_arrow = ''; } if ($right_corner == true) { $right_corner = $right_arrow . tep_image(DIR_WS_IMAGES . 'infobox/corner_right.gif'); } else { $right_corner = $right_arrow . tep_draw_separator('pixel_trans.gif', '11', '14'); } $info_box_contents = array(); $info_box_contents[] = array(array('params' => 'height="14" class="infoBoxHeading"', 'text' => $left_corner), array('params' => 'width="100%" height="14" class="infoBoxHeading"', 'text' => $contents[0]['text']), array('params' => 'height="14" class="infoBoxHeading" nowrap', 'text' => $right_corner)); $this->tableBox($info_box_contents, true); } } $info_box_contents = array(); $info_box_contents[] = array('text' => BOX_HEADING_SHOPPING_CART); new infoBoxCartHeading($info_box_contents, false, true, tep_href_link(FILENAME_SHOPPING_CART)); $cart_contents_string = ''; if ($cart->count_contents() > 0) { $cart_contents_string = '<table border="0" width="100%" cellspacing="0" cellpadding="0">'; $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { $cart_contents_string .= '<tr><td align="right" valign="top" class="infoBoxContents">'; if ((tep_session_is_registered('new_products_id_in_cart')) && ($new_products_id_in_cart == $products[$i]['id'])) { $cart_contents_string .= '<span class="newItemInCart">'; } else { $cart_contents_string .= '<span class="infoBoxContents">'; } $cart_contents_string .= $products[$i]['quantity'] . ' x </span></td><td valign="top" class="infoBoxContents"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">'; if ((tep_session_is_registered('new_products_id_in_cart')) && ($new_products_id_in_cart == $products[$i]['id'])) { $cart_contents_string .= '<span class="newItemInCart">'; } else { $cart_contents_string .= '<span class="infoBoxContents">'; } $cart_contents_string .= $products[$i]['name'] . '</span></a></td></tr>'; if ((tep_session_is_registered('new_products_id_in_cart')) && ($new_products_id_in_cart == $products[$i]['id'])) { tep_session_unregister('new_products_id_in_cart'); } } $cart_contents_string .= '</table>'; } else { $cart_contents_string .= BOX_SHOPPING_CART_EMPTY; } $info_box_contents = array(); $info_box_contents[] = array('text' => $cart_contents_string); if ($cart->count_contents() > 0) { $info_box_contents[] = array('text' => tep_draw_separator()); $info_box_contents[] = array('align' => 'right', 'text' => $currencies->format($cart->show_total())); } new infoBox($info_box_contents); ?> </td> </tr> <!-- shopping_cart_eof //--> Do the same thing with other boxes. :thumbsup:
mugitty Posted January 16, 2005 Author Posted January 16, 2005 Ray; Thanks for the suggestion. It works... with limitations. I have created a second class for some of the infoBoxes and when I apply your suggestion in the individual box files, I lose the stylesheet for the second box type. I suspect this is because the stylesheet is called before the new class is declared. I can get around this by putting an additional class into classes/boxes for each different text that I want to appear with the arrow, but this adds an awful lot of code. I was hoping that there might be a way to change the text with some brief "if" statements somewhere. ... if you want to REALLY see something that doesn't set up right out of the box without some tweaking, try being a Foster Parent!
Recommended Posts
Archived
This topic is now archived and is closed to further replies.