valquiria23 Posted June 19, 2017 Share Posted June 19, 2017 Dear @Omar_one How can I move the Ribbon a little more to the left? Best regards. Valqui Community Oscommerce fan You'll find the latest osC community version here. Link to comment Share on other sites More sharing options...
sunshynecraftsbeads Posted June 19, 2017 Share Posted June 19, 2017 1 hour ago, sunshynecraftsbeads said: @Omar_one Hi Omar, Here it is. I have copied & pasted it for you as is. Thank you for responding. <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id'); ?> <?php if ($messageStack->size('product_action') > 0) { echo $messageStack->output('product_action'); } ?> <div class="contentText"> <?php if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) { ?> <div class="row"> <div class="col-sm-6 pagenumber hidden-xs"> <?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?> </div> <div class="col-sm-6"> <div class="pull-right pagenav"><ul class="pagination"><?php echo $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></ul></div> <span class="pull-right"><?php echo TEXT_RESULT_PAGE; ?></span> </div> </div> <?php } if ($listing_split->number_of_rows > 0) { ?> <div class="well well-sm"> <div class="btn-group btn-group-sm pull-right"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <?php echo TEXT_SORT_BY; ?><span class="caret"></span> </button> <ul class="dropdown-menu text-left"> <?php $lc_show_model = false; $lc_show_manu = false; $lc_show_qty = false; $lc_show_lbs = false; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_text = TABLE_HEADING_MODEL; $lc_show_model = true; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_show_manu = true; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_show_qty = true; break; case 'PRODUCT_LIST_WEIGHT': $lc_text = TABLE_HEADING_WEIGHT; $lc_show_lbs = true; break; case 'PRODUCT_LIST_IMAGE': $lc_text = TABLE_HEADING_IMAGE; break; case 'PRODUCT_LIST_BUY_NOW': $lc_text = TABLE_HEADING_BUY_NOW; break; case 'PRODUCT_LIST_ID': $lc_text = TABLE_HEADING_LATEST_ADDED; break; } if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) { $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text); echo ' <li>' . $lc_text . '</li>'; } } ?> </ul> </div> <?php if ( (defined('MODULE_HEADER_TAGS_GRID_LIST_VIEW_STATUS') && MODULE_HEADER_TAGS_GRID_LIST_VIEW_STATUS == 'True') && (strpos(MODULE_HEADER_TAGS_GRID_LIST_VIEW_PAGES, basename($PHP_SELF)) !== false) ) { ?> <strong><?php echo TEXT_VIEW; ?></strong> <div class="btn-group"> <a href="#" id="list" class="btn btn-default btn-sm"><span class="fa fa-th-list"></span><?php echo TEXT_VIEW_LIST; ?></a> <a href="#" id="grid" class="btn btn-default btn-sm"><span class="fa fa-th"></span><?php echo TEXT_VIEW_GRID; ?></a> </div> <?php } ?> <div class="clearfix"></div> </div> <?php $listing_query = tep_db_query($listing_split->sql_query); $prod_list_contents = NULL; while ($listing = tep_db_fetch_array($listing_query)) { $prod_list_contents .= '<div class="item list-group-item col-sm-4">'; $prod_list_contents .= ' <div class="productHolder equal-height">'; if (isset($HTTP_GET_VARS['manufacturers_id']) && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, NULL, NULL, 'img-responsive thumbnail group list-group-image') . '</a>'; } else { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, (isset($sort) ? 'sort=' . $sort . '&' : '') . ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, NULL, NULL, 'img-responsive thumbnail group list-group-image') . '</a>'; } $prod_list_contents .= ' <div class="caption">'; $prod_list_contents .= ' <h2 class="group inner list-group-item-heading">'; if (isset($HTTP_GET_VARS['manufacturers_id']) && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>'; } else { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>'; } $prod_list_contents .= ' </h2>'; $prod_list_contents .= ' <p class="group inner list-group-item-text">' . strip_tags($listing['products_description'], '<br>') . '…</p><div class="clearfix"></div>'; // here it goes the extras, yuck $extra_list_contents = NULL; // manufacturer if (($lc_show_manu == true) && ($listing['manufacturers_id'] != 0)) $extra_list_contents .= '<dt>' . TABLE_HEADING_MANUFACTURER . '</dt><dd><a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a></dd>'; // model if ( ($lc_show_model == true) && tep_not_null($listing['products_model'])) $extra_list_contents .= '<dt>' . TABLE_HEADING_MODEL . '</dt><dd>' . $listing['products_model'] . '</dd>'; // stock if (($lc_show_qty == true) && (tep_get_products_stock($listing['products_id'])!= 0) ) $extra_list_contents .= '<dt>' . TABLE_HEADING_QUANTITY . '</dt><dd>' . tep_get_products_stock($listing['products_id']) . '</dd>'; // weight if (($lc_show_lbs == true) && ($listing['products_weight'] != 0)) $extra_list_contents .= '<dt>' . TABLE_HEADING_WEIGHT . '</dt><dd>' . $listing['products_weight'] . '</dd>'; if (tep_not_null($extra_list_contents)) { $prod_list_contents .= ' <dl class="dl-horizontal list-group-item-text">'; $prod_list_contents .= $extra_list_contents; $prod_list_contents .= ' </dl>'; } $prod_list_contents .= ' <div class="row">'; if (tep_not_null($listing['specials_new_products_price'])) { $prod_list_contents .= ' <div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default"><del>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del></span> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; } else { $prod_list_contents .= ' <div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; } $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; $prod_list_contents .= ' </div>'; $prod_list_contents .= ' </div>'; $prod_list_contents .= ' </div>'; $prod_list_contents .= '</div>'; } echo '<div id="products" class="row list-group">' . $prod_list_contents . '</div>'; } else { ?> <div class="alert alert-info"><?php echo TEXT_NO_PRODUCTS; ?></div> <?php } if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) { ?> <div class="row"> <div class="col-sm-6 pagenumber hidden-xs"> <?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?> </div> <div class="col-sm-6"> <div class="pull-right pagenav"><ul class="pagination"><?php echo $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></ul></div> <span class="pull-right"><?php echo TEXT_RESULT_PAGE; ?></span> </div> </div> <?php } ?> </div> Link to comment Share on other sites More sharing options...
sunshynecraftsbeads Posted June 19, 2017 Share Posted June 19, 2017 On 6/16/2017 at 10:00 AM, Omar_one said: @sunshynecraftsbeads are you using the Responsive version? you can post the product_listing.php here or PM it to me BR Omar @Omar_one Hi Omar, I have coped & pasted the .php as per your request. Thank you kindly for taking the time to look. <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id'); ?> <?php if ($messageStack->size('product_action') > 0) { echo $messageStack->output('product_action'); } ?> <div class="contentText"> <?php if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) { ?> <div class="row"> <div class="col-sm-6 pagenumber hidden-xs"> <?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?> </div> <div class="col-sm-6"> <div class="pull-right pagenav"><ul class="pagination"><?php echo $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></ul></div> <span class="pull-right"><?php echo TEXT_RESULT_PAGE; ?></span> </div> </div> <?php } if ($listing_split->number_of_rows > 0) { ?> <div class="well well-sm"> <div class="btn-group btn-group-sm pull-right"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <?php echo TEXT_SORT_BY; ?><span class="caret"></span> </button> <ul class="dropdown-menu text-left"> <?php $lc_show_model = false; $lc_show_manu = false; $lc_show_qty = false; $lc_show_lbs = false; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_text = TABLE_HEADING_MODEL; $lc_show_model = true; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_show_manu = true; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_show_qty = true; break; case 'PRODUCT_LIST_WEIGHT': $lc_text = TABLE_HEADING_WEIGHT; $lc_show_lbs = true; break; case 'PRODUCT_LIST_IMAGE': $lc_text = TABLE_HEADING_IMAGE; break; case 'PRODUCT_LIST_BUY_NOW': $lc_text = TABLE_HEADING_BUY_NOW; break; case 'PRODUCT_LIST_ID': $lc_text = TABLE_HEADING_LATEST_ADDED; break; } if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) { $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text); echo ' <li>' . $lc_text . '</li>'; } } ?> </ul> </div> <?php if ( (defined('MODULE_HEADER_TAGS_GRID_LIST_VIEW_STATUS') && MODULE_HEADER_TAGS_GRID_LIST_VIEW_STATUS == 'True') && (strpos(MODULE_HEADER_TAGS_GRID_LIST_VIEW_PAGES, basename($PHP_SELF)) !== false) ) { ?> <strong><?php echo TEXT_VIEW; ?></strong> <div class="btn-group"> <a href="#" id="list" class="btn btn-default btn-sm"><span class="fa fa-th-list"></span><?php echo TEXT_VIEW_LIST; ?></a> <a href="#" id="grid" class="btn btn-default btn-sm"><span class="fa fa-th"></span><?php echo TEXT_VIEW_GRID; ?></a> </div> <?php } ?> <div class="clearfix"></div> </div> <?php $listing_query = tep_db_query($listing_split->sql_query); $prod_list_contents = NULL; while ($listing = tep_db_fetch_array($listing_query)) { $prod_list_contents .= '<div class="item list-group-item col-sm-4">'; $prod_list_contents .= ' <div class="productHolder equal-height">'; if (isset($HTTP_GET_VARS['manufacturers_id']) && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, NULL, NULL, 'img-responsive thumbnail group list-group-image') . '</a>'; } else { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, (isset($sort) ? 'sort=' . $sort . '&' : '') . ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, NULL, NULL, 'img-responsive thumbnail group list-group-image') . '</a>'; } $prod_list_contents .= ' <div class="caption">'; $prod_list_contents .= ' <h2 class="group inner list-group-item-heading">'; if (isset($HTTP_GET_VARS['manufacturers_id']) && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>'; } else { $prod_list_contents .= ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>'; } $prod_list_contents .= ' </h2>'; $prod_list_contents .= ' <p class="group inner list-group-item-text">' . strip_tags($listing['products_description'], '<br>') . '…</p><div class="clearfix"></div>'; // here it goes the extras, yuck $extra_list_contents = NULL; // manufacturer if (($lc_show_manu == true) && ($listing['manufacturers_id'] != 0)) $extra_list_contents .= '<dt>' . TABLE_HEADING_MANUFACTURER . '</dt><dd><a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a></dd>'; // model if ( ($lc_show_model == true) && tep_not_null($listing['products_model'])) $extra_list_contents .= '<dt>' . TABLE_HEADING_MODEL . '</dt><dd>' . $listing['products_model'] . '</dd>'; // stock if (($lc_show_qty == true) && (tep_get_products_stock($listing['products_id'])!= 0) ) $extra_list_contents .= '<dt>' . TABLE_HEADING_QUANTITY . '</dt><dd>' . tep_get_products_stock($listing['products_id']) . '</dd>'; // weight if (($lc_show_lbs == true) && ($listing['products_weight'] != 0)) $extra_list_contents .= '<dt>' . TABLE_HEADING_WEIGHT . '</dt><dd>' . $listing['products_weight'] . '</dd>'; if (tep_not_null($extra_list_contents)) { $prod_list_contents .= ' <dl class="dl-horizontal list-group-item-text">'; $prod_list_contents .= $extra_list_contents; $prod_list_contents .= ' </dl>'; } $prod_list_contents .= ' <div class="row">'; if (tep_not_null($listing['specials_new_products_price'])) { $prod_list_contents .= ' <div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default"><del>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del></span> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; } else { $prod_list_contents .= ' <div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; } $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; $prod_list_contents .= ' </div>'; $prod_list_contents .= ' </div>'; $prod_list_contents .= ' </div>'; $prod_list_contents .= '</div>'; } echo '<div id="products" class="row list-group">' . $prod_list_contents . '</div>'; } else { ?> <div class="alert alert-info"><?php echo TEXT_NO_PRODUCTS; ?></div> <?php } if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) { ?> <div class="row"> <div class="col-sm-6 pagenumber hidden-xs"> <?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?> </div> <div class="col-sm-6"> <div class="pull-right pagenav"><ul class="pagination"><?php echo $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></ul></div> <span class="pull-right"><?php echo TEXT_RESULT_PAGE; ?></span> </div> </div> <?php } ?> </div> Link to comment Share on other sites More sharing options...
Omar_one Posted June 19, 2017 Author Share Posted June 19, 2017 @sunshynecraftsbeads You are using the responsive version the Gold one. For out of stock ribbons try this find $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; replace with if ( tep_get_products_stock($listing['products_id']) > 0 ) { $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; } else { $prod_list_contents .= ' <div class="ribbon red"><span> '. TABLE_HEADING_OUT_OF_STOCK . '</span></div>'; } and for specials ribbon try find this $prod_list_contents .= ' <div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default"><del>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del></span> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; replace with $prod_list_contents .= ' <div class="ribbon blue"><span> ' .TABLE_HEADING_SPECIAL_RIBBONS.'</span></div><div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default"><del>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del></span> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; Let me know if it will work please . BR Omar Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
Omar_one Posted June 19, 2017 Author Share Posted June 19, 2017 to move the ribbon to left try to change in the ribbon css in (user.css) find this .ribbon { position: absolute; right: -5px; top: -5px; z-index: 1; overflow: hidden; width: 75px; height: 75px; text-align: right; } try to change this line (right:-5px;top:-5px;) to something like this ( right: 10px; top: -5px;) Omar Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
sunshynecraftsbeads Posted June 19, 2017 Share Posted June 19, 2017 1 hour ago, Omar_one said: @sunshynecraftsbeads You are using the responsive version the Gold one. For out of stock ribbons try this find $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; replace with if ( tep_get_products_stock($listing['products_id']) > 0 ) { $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; } else { $prod_list_contents .= ' <div class="ribbon red"><span> '. TABLE_HEADING_OUT_OF_STOCK . '</span></div>'; } and for specials ribbon try find this $prod_list_contents .= ' <div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default"><del>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del></span> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; replace with $prod_list_contents .= ' <div class="ribbon blue"><span> ' .TABLE_HEADING_SPECIAL_RIBBONS.'</span></div><div class="col-xs-6"><div class="btn-group" role="group"><button type="button" class="btn btn-default"><del>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</del></span> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</button></div></div>'; Let me know if it will work please . BR Omar Omar_one Hi Omar, Thanks for the information. Sad to say that I am unable to add this to my website. I made the changes you requested and I went to review my product list to see how it looked with the out of stock products feature but all I got was a error page and none of my products were available anymore. The one thing I noticed when making the changes was the first one I changed. It was a different coding from the others. I would never assume that I know coding at all. I just noticed it was different than the others. FIND: $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; REPLACE: if ( tep_get_products_stock($listing['products_id']) > 0 ) { $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; } else { $prod_list_contents .= ' <div class="ribbon red"><span> '. TABLE_HEADING_OUT_OF_STOCK . '</span></div>'; } Maybe there is something wrong with my .php. I don't know. I will have to try to find it or figure it out. But I will say this will make a huge difference to a lot of us so thank you for making this a option for us. Your Awesome ! Link to comment Share on other sites More sharing options...
Omar_one Posted June 19, 2017 Author Share Posted June 19, 2017 @sunshynecraftsbeads Here is your product_listing.php file after I added the ribbons (out of stock and specials ribbon).. backup your product_listing.php before you copy this file. Omar product_listing.php Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
John-Peter Posted June 21, 2017 Share Posted June 21, 2017 Thanks for this add-on, Nice work. Can you add the same message when we click on the product and we are in the product description for not having the "add to cart" button too ? It will be nice and perfect ! Cheers John -------------------- osCommerce 2.3.4 Bootstrap Edge Link to comment Share on other sites More sharing options...
Omar_one Posted June 21, 2017 Author Share Posted June 21, 2017 @Jeep_ice sometime ago @burt share some code on the forum to do this . I don't know the topic, but here the copied code: in /includes/functions/html_output.php Find: if ( isset($params['params']) ) { $button .= ' ' . $params['params']; } add after it if (isset($params['product_id']) ) { $products_quantity_query = tep_db_query("select products_quantity from products where products_id = " . (int)$params['product_id']); $products_quantity = tep_db_fetch_array($products_quantity_query); if ($products_quantity['products_quantity'] < 1) { $button .= ' disabled="disabled" '; $title = 'Out Of Stock'; $icon = 'fa fa-times-circle'; $style = 'btn-warning'; } } in product_info.php find this tep_draw_button(IMAGE_BUTTON_IN_CART, 'fa fa-shopping-cart', null, 'primary', NULL, 'btn-success') replace with this tep_draw_button(IMAGE_BUTTON_IN_CART, 'fa fa-shopping-cart', null, 'primary', array('product_id' => $product_info['products_id']), 'btn-success') Omar Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
John-Peter Posted June 21, 2017 Share Posted June 21, 2017 @Omar_one Ok Thank you very much, I will try this. I will give you how it goes.. Thank's... John -------------------- osCommerce 2.3.4 Bootstrap Edge Link to comment Share on other sites More sharing options...
John-Peter Posted June 21, 2017 Share Posted June 21, 2017 @Omar_one Piece of cake.... Thank you.... The only thing is not marking Out of Stock in the Product Description. Nice Add-on, A must... John -------------------- osCommerce 2.3.4 Bootstrap Edge Link to comment Share on other sites More sharing options...
Dennisra Posted June 25, 2017 Share Posted June 25, 2017 Hello: Omar_one: osCommerce Online Merchant v2.3.4 BS I am looking for this code in Catalog/includes/modules/product_listing.php: if (PRODUCT_LIST_BUY_NOW > 0) { $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm btn-product-listing btn-buy') . '</div>'; } I have "bundled products" addon so my code near this line looks looks like this. Is there anyway I can get the Specials Ribbon to work? if (PRODUCT_LIST_BUY_NOW > 0) { // BOF Bundled Products if ($listing['sold_in_bundle_only'] == "yes") { $lc_text = TEXT_BUNDLE_ONLY; } else { // $prod_list_contents .= ' <div class="col-xs-6 text-right">' . tep_draw_button(IMAGE_BUTTON_IN_CART, 'fa fa-shopping-cart', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), NULL, NULL, 'btn-success btn-sm') . '</div>'; $prod_list_contents .= ' <br /><br /> <div class="row col-sm-4" style="margin:0 auto;width:90%; margin-left:20px">'; $prod_list_contents .= ' <div style="display:inline-block; width:20%">' . tep_draw_form('buy_now', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id='. $listing['products_id']), 'POST') . '' . tep_draw_input_field('buyqty', '1', 'size=3 maxlength=3') . '</div>'; $prod_list_contents .= ' <div style="display:inline-block; width:60%">' . tep_draw_button(IMAGE_BUTTON_BUY_NOW, 'cart') . '</div></form>'; $prod_list_contents .= ' </div>'; } } $prod_list_contents .= ' </div>'; } Thanks for any suggestions Dennis Link to comment Share on other sites More sharing options...
Omar_one Posted June 25, 2017 Author Share Posted June 25, 2017 @Dennisra the Specials Ribbon it is not request change in that line ... the out of stock Ribbon need to change in that line. Are you sure that you are talking about Specials Ribbon? Omar Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
Dennisra Posted June 28, 2017 Share Posted June 28, 2017 My apologies. I think I got mixed up. Thank you Omar!! Dennis Link to comment Share on other sites More sharing options...
John-Peter Posted July 4, 2017 Share Posted July 4, 2017 @Omar_one Hi again... Do you have a solution for the following sotuation I have, I try to change it and didn't succeed. It's when I change the view of the listing product between Grid/List. See the images: With the List view, it's perfect. But when with the Grid list, the ribbon is not fit well. Thank you. John -------------------- osCommerce 2.3.4 Bootstrap Edge Link to comment Share on other sites More sharing options...
Omar_one Posted July 4, 2017 Author Share Posted July 4, 2017 @Dennisra It had been talking about both addons here so, sorry about the confusion. Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
Omar_one Posted July 4, 2017 Author Share Posted July 4, 2017 @John-Peter I had it with the Grid list, it's perfect. But when with the List view, the ribbon it was not fitting well. add this lines to user.css .grid-group-item { margin-bottom: 20px; padding-top: 10px; } BR Omar Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
John-Peter Posted July 4, 2017 Share Posted July 4, 2017 @Omar_one Perfect ! Thank you very much Omar.... Have a nice day. John -------------------- osCommerce 2.3.4 Bootstrap Edge Link to comment Share on other sites More sharing options...
valquiria23 Posted July 6, 2017 Share Posted July 6, 2017 @Omar_one Do you have a solution for the following situation I have, It's when I change the view of the listing product between Grid/List. See the images: With the grid view, it's perfect. But when with the list view, the ribbon is not fit well. Thank you. Best Regards. Valqui Community Oscommerce fan You'll find the latest osC community version here. Link to comment Share on other sites More sharing options...
valquiria23 Posted July 6, 2017 Share Posted July 6, 2017 Did not work :( Do you know why the buy button is above the price button? Best regards Valqui Community Oscommerce fan You'll find the latest osC community version here. Link to comment Share on other sites More sharing options...
Omar_one Posted July 6, 2017 Author Share Posted July 6, 2017 .list-group-item { position: relative; display: block; margin-bottom: -1px; padding-bottom: 15px; } try this Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
valquiria23 Posted July 6, 2017 Share Posted July 6, 2017 Did not work :( Community Oscommerce fan You'll find the latest osC community version here. Link to comment Share on other sites More sharing options...
Omar_one Posted July 6, 2017 Author Share Posted July 6, 2017 @valquiria23 this will work Delete added code what I send it in user.css open /ext/bootstrap/css/bootstrap.min.css find .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd} replace it with this line .list-group-item{position:relative;display:block;padding-bottom:15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd} bs. if you change the bootstrap theme or update it you have to change the line again Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
valquiria23 Posted July 7, 2017 Share Posted July 7, 2017 Dear @Omar_one Excellent work! This change solved the problem. You're a genius :) Do you know why the buy button is above the price button? Now also the price and the buy button are left out of the box :( Best regards. Valqui Community Oscommerce fan You'll find the latest osC community version here. Link to comment Share on other sites More sharing options...
Omar_one Posted July 7, 2017 Author Share Posted July 7, 2017 @valquiria23 try this in product_listing.php find this 'btn-success btn-sm') change it with this 'btn-success btn-sm btn-product-listing btn-buy') Get the latest Responsive osCommerce CE (community edition) here . Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.