Jump to content
Latest News: (loading..)

burt

Team
  • Content count

    13,076
  • Joined

  • Last visited

  • Days Won

    466

Everything posted by burt

  1. I don't expect this will be a publicly available thing; its a showcase of what the Responsive could (and should) have been had we got as far as Final. It will be available to some shopowners if they want it, but that will only be the handful of shopowners who are the diehard supporters of my efforts. Put simply; this is made to flatten my bsv4 learning curve.
  2. New progress bars are now on the Test Site. Obviously if you wish to see them, you need to be checking out. If you are checking you need an account, please at least use a real email address so that my server doesn't bounce back undeliverable messages at me, thanks. I hate seeing people test stuff and using (eg) wenvjowe@venvoevn.com type of bullcrap. Hooks System For anyone who knows a bit about the Hooks system, this has had an overhaul so that it is now possible to pass parameters through hooks; EG: checkout_shipping.php <?php echo $OSCOM_Hooks->call('progress', 'progressBar', [Parameters]); ?> And on EG checkout payment all you need to do is pass through a different Parameter, and that increases the display of the progress bar. Henceforther shopowners/developers can have two or more pages using the same Listener...just passing thru a different Parameter. And, even better, no limit on the what Parameters you want to pass through to your Listeners. #forward #we #go
  3. https://getbootstrap.com/docs/3.3/components/#progress They exist in bsv3 as well. They are broadly similar between bsv3 and bsv4
  4. New Progress Bars for Checkout Hooks system is updated to accomodate this. Now all you have to do is change 1 hook file and your changes are reflected on each page that has the progress bar. OLD: NEW: + Points: Removes about 10 lines of .css Can now affect all pages displaying the progress bar by amending one file (eg if you wish to display something else) - Points: Not as pretty as the older layout? Always moving forward, even if steps are small.
  5. There are many ways to make the boxes line up. The beauty is that each shopowner can do it the way they like to.
  6. burt

    Product Notifications

    I didn't. But if one was to use my guest notifications module from 29d20 (February 20 2016)...it should not be difficult to recode a portion of the above to make it fit.
  7. burt

    Product Notifications

    Yesterday I helped a shopowner with something and then at the end of the email chain this question came up; I don't. But I just wrote some code that might do a job, but it is UNTESTED and would be better as a Hook or module. For testing purposes, hardcode it. Here we go; Step 1 - Language Change admin/includes/languages/english/categories.php ADD: // notifications define('NOTIFICATION_BACK_IN_STOCK_SUBJECT', '%1$s is back in stock at %2$s'); define('NOTIFICATION_BACK_IN_STOCK_TEXT', 'Hi! We wanted to let you know that %1$s is back in stock at %2$s online shop!' . "\n\n" . 'Have a look: %3$s' . "\n\n" . ' Sincerely, %2$s'); define('NOTIFICATION_BACK_IN_STOCK_SENT', 'Success: %s emails sent!'); At this point you need to determine how you make stock changes. Some shopowners use the red/green selector. Some shopowners use the product_quantity input when editing product. Step 2 - Admin Page Change If you use the red/green selector admin/categories.php FIND: if (isset($_GET['pID'])) { tep_set_product_status($_GET['pID'], $_GET['flag']); } ADD AFTER: if ($_GET['flag'] == '1') { $notifications_query = tep_db_query("select customers_firstname, customers_email_address from customers where customers_id in (select customers_id from products_notifications where products_id = " . (int)$_GET['pID'] . ")"); $product = tep_get_products_name((int)$_GET['pID']); $url = tep_catalog_href_link('product_info.php', 'products_id=' . (int)$_GET['pID']); $subject = sprintf(NOTIFICATION_BACK_IN_STOCK_SUBJECT, $product, STORE_NAME); $message = sprintf(NOTIFICATION_BACK_IN_STOCK_TEXT, $product, STORE_NAME, $url); $mimemessage = new email(); $text = strip_tags($message); if (EMAIL_USE_HTML == 'true') { $mimemessage->add_html($message, $text); } else { $mimemessage->add_text($text); } $mimemessage->build_message(); $emails = 0; while ($notifications = tep_db_fetch_array($notifications_query)) { $mimemessage->send($notifications['customers_firstname'], $notifications['customers_email_address'], STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $subject); $emails++; } $messageStack->add_session(sprintf(NOTIFICATION_BACK_IN_STOCK_SENT, $emails), 'success'); } If you use the product_quantity input (editing product) admin/categories.php FIND: if (tep_db_num_rows($product_images_query)) { while ($product_images = tep_db_fetch_array($product_images_query)) { $duplicate_image_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_IMAGES . " where image = '" . tep_db_input($product_images['image']) . "'"); $duplicate_image = tep_db_fetch_array($duplicate_image_query); if ($duplicate_image['total'] < 2) { if (file_exists(DIR_FS_CATALOG_IMAGES . $product_images['image'])) { @unlink(DIR_FS_CATALOG_IMAGES . $product_images['image']); } } } tep_db_query("delete from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$products_id . "' and id not in (" . implode(',', $piArray) . ")"); } ADD AFTER: if (($action == 'update_product') && ($_POST['products_quantity'] > 0)) { $notifications_query = tep_db_query("select customers_firstname, customers_email_address from customers where customers_id in (select customers_id from products_notifications where products_id = " . (int)$products_id . ")"); $product = tep_get_products_name((int)$products_id); $url = tep_catalog_href_link('product_info.php', 'products_id=' . (int)$products_id); $subject = sprintf(NOTIFICATION_BACK_IN_STOCK_SUBJECT, $product, STORE_NAME); $message = sprintf(NOTIFICATION_BACK_IN_STOCK_TEXT, $product, STORE_NAME, $url); $mimemessage = new email(); $text = strip_tags($message); if (EMAIL_USE_HTML == 'true') { $mimemessage->add_html($message, $text); } else { $mimemessage->add_text($text); } $mimemessage->build_message(); $emails = 0; while ($notifications = tep_db_fetch_array($notifications_query)) { $mimemessage->send($notifications['customers_firstname'], $notifications['customers_email_address'], STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $subject); $emails++; } $messageStack->add_session(sprintf(NOTIFICATION_BACK_IN_STOCK_SENT, $emails), 'success'); } Done. Important Notes Untested. Try it at your own risk Untested. Make a fake product, make a couple of fake customers and sign up for notifications. Try updating the product. Untested. Did I mention... UNTESTED Would be better as a Hook or something but I am sure someone will do that after it is tested, because this is UNTESTED.
  8. @radhavallabh center align grid-group-item as so; .g-g-i {text-align: center;} Could not be simpler, produces this;
  9. burt

    Product Notifications

    I extended this into a full module. Quote from a real shopowner;
  10. These tester tools are all flawed but do give a helpful indications; Two broadly similar (info) pages: https://gtmetrix.com/compare/78XWS19H/ccbzexuy Two broadly similar (product list) pages: https://gtmetrix.com/compare/MG7yiUMH/v3mmNq1E Note: New bsv4 site loads in more modules than the Old frozen site. Next Task: rip out the full jquery build and instead use jquery slim build. requires some changes elsewhere to allow scripts to use slim (eg the images popup thing on product_info)
  11. Visually, I think everything looks better. Functionally, the code is cleaner & faster.
  12. Thank you Eddy. Should be fixed now.
  13. There is something like that in the default 234bs demo site => Ajax cart. Even there I can't find a double </a></a>
  14. I do not see this code anywhere?
  15. burt

    Database structure

    ps, you can do that for any file, just navigate to the file (at github) and then hit the history button.
  16. burt

    Database structure

    @Mikepo https://github.com/gburton/Responsive-osCommerce/commits/master/install/oscommerce.sql
  17. Progress is Made index.php - new products for month index.php?cPath=1 - new products for month index.php?cPath=1_4 - product list in category specials.php products_new.php advanced_search_result.php?keywords=matrox Does anyone spot any problems in any of the pages (not just these product lists)...
  18. Todays task is to try to make all the places where a product shows (in a list) look the same. I settled on this look: The places where a product shows (in a list) is (linked to Frozen so that you can see the differences); http://template.me.uk/234bs3/index.php - new products for month http://template.me.uk/234bs3/index.php?cPath=1 - new products for month http://template.me.uk/234bs3/index.php?cPath=1_4 - product list in category http://template.me.uk/234bs3/specials.php http://template.me.uk/234bs3/products_new.php http://template.me.uk/234bs3/advanced_search_result.php?keywords=matrox You can see that in Edge/Frozen the lists look broadly similar. I want them all to look exact the same in Frozen2BS4
  19. Nah, it's cool. It's interesting to me to try to understand the mindset of some of the posters on that thread.
×