Search the Community
Showing results for tags 'ajax'.
-
Advanced Statistics Rev1 for osCommerce 2.3 - Compatible Without mysqlnd - - Support thread - Having made another module for handling products/categories which utilize DataTables, I realized that my store needed a new reporting "engine" to produce statistics/sales data for me so that I don't have to make a new spreadsheet every time I want some statistics. As of Revision 1 there's still a lot to work on but the the module has come to a point of being useful so I thought I share it with the rest of the osC community as an Add-On. If you think you have a good idea on new features/stats that could be useful, please share them here on the support forum. DataTables DataTables requests the sales data from your server with Ajax and then builds you a table with a action bar and selectable rows. You can Drag & Drop Column Headers to reorder the table the way you like it. It’s also possible to toggle column visibility. Clicking on the columns will sort the column ascending/descending. Clicking on the leftmost plus (+) sign will expand the column to detailed day-by-day per month sales & tax data. Performance The former Reporting Add-On I used was very slow, it queried each row in table orders_products and the amount of queries done to calculate sales & tax for a period was massive! Data will be loaded from JSON source which also helps improve Performance, especially on slow connections. Make very sure if you are going to use this Add-On that it calculates your data correctly! You have to both double and triple check the reports with another reporting system so you know for sure that everything works. This is how the Advanced Statistics Add-On calculates your sales data, it’s quite simple: If you have a tax rate set to 20% and the summary for this tax for 1 day is $200 then it will calculate generated sales with 20% tax this way: [Total Tax] / [Tax Rate] * 100 = Sold Goods with 20% Tax 200 / 20 * 100 = 1000. So Sales 20% will be $1000. As of Rev1, order_totals classes that will be counted are ot_total, ot_tax & ot_shipping. TableTools The TableTools Extension comes with a swf (flash) file which helps e.g. to copy table data to clipboard. Unfortunately, flash is the only way to do this right now.. Copying Data and then Pasting it in your spreadsheet editor is a neat way to quickly create custom reports. TableTools also comes with buttons to automatically create CSV files. You might need to configure the CSV field separator in advanced_statistics.js. Search for the sFieldSeperator option and set correct separator if you can’t get the CSV to import correctly. Print View Using a CSS with media="print”, a print view is automatically created when you select to print the page. If you have selected to filter orders by status, then there will be an added heading with Status Information, as of Rev1 however, you need to reload the page to get it to display. I’ll fix this later.. You can also use the TableTools ”Print” Button which essentially makes the same thing. You can also have TableTools create a PDF for you, but it looks like sh*t if you ask me. Check DataTables homepage on how to configure the layout for this PDF, I will not work on this as I don’t need it (will use CMD/CTRL + P instead..). Note also that some of the themes probably needs some CSS styling fixes if you want to print e.g. background colors of header. Make sure to add these to advanced_statistics_print_view.css. Menus & Navigation I always wanted one of those Slide-In menus so I finally got one; jQuery mmenu. It’s still rather empty, but should fill up with more filtering options and other knobs, buttons & of course whistles soon enough. To open it; click on the top left icon on the top navigation, it will randomly pick one out of 37 icons on each load but shouldn’t be hard to find as long as you’re not completely ”challenged” by the world around you… :P There’s a couple of more buttons in the Bootstrap top navigation which will toggle the admin menu and header and also a button to clear all currently applied filters. To the right on the top navigation you’ll have two dropdowns which will switch theme and filter by orders status. Theming jQuery DataTables comes with some options to implement themes, so I fixed support for five different layouts: jTable - Looks a bit like the Advanced Order Handler and uses Bootstrap buttons for the seven leftmost buttons. Original - DataTables as it comes out of the box (more or less) Bootstrap - Like Original but with the DataTables Bootstrap css & js jQuery UI - Will adapt to your jQuery-UI Admin Theme (default is Redmond) jQuery UI Smoothness - Uses Smoothness theme instead of Redmond Screenshots of all Themes can be found at the bottom of the ReadMe file in the package. Theme-creator https://www.datatables.net/manual/styling/theme-creator Internationalization Both amCharts and DataTables comes with many language definitions which is included and should automatically load the same language as the one you have set in your admin (assuming the definition exist). amCharts I plan to make a lot of use of amCharts to get easy to interpret charts from store sales etc.. As of Revision 1, you can get a line, area, column, bar, step line, smoothed line, candlestick and OHLC graph for each of the visible columns and for either the specific rows that you have selected (OS style selection, shift/control/CMD click to select multiple rows) or for the entire table(s). The chart modal is movable (only one move per page load) and also resizable. Click on the Graph Names at the bottom of the modal to hide/show different line graphs. Security & Compatability All querying with parameters/input variables to your database will be made with MySQLi Prepared Statements. Preferably you should use the MySQL Native Driver (mysqlnd), but I have added support and tested the Add-On without mysqlnd and everything should work. Prepared Statements removes the threat of MySQL Injections. Not that it matters that much on the admin side of the shop since only authorized users have access, but you can never be too secure, right? ;) For simple installation I have not messed with more native osC files than necessary and instead included necessary functions in general_functions.php. If you have any of my previous Add-Ons installed then you might run into a problem under certain conditions when the mysqli_prepared_query and tep_db_fetch_all functions will fail. If so, then try with replacing the current database functions that you have in ./admin/includes/functions/database.php with the ones that you find in general_functions.php from this Add-on. Features for Revision 1 Sales/Tax Statistics/Report Generator for osC 2.3.x Only tested on osC 2.3.4 but should work on any version Simple five step Installation - Only three files needs to be modified! Automatically creates HTML table and loads orders from server using AJAX. Export Options: CSV, Copy/Paste, XLS, PDF "Automatic" Print View amCharts Graphs over sales & taxes Very Fast Operation, a shop with 30 000 orders loads in under 2 seconds. jQuery DataTables - https://datatables.net/ Drag & Drop Columns Automatic Column Sorting Toggle Column Visibility Detailed day-to-day sales Slide-In Menu with mmenu - http://mmenu.frebsite.nl/ Fixed Bootstrap Top Navigation Themes jTable Original Bootstrap jQuery UI jQuery UI Smoothness DataTables Internationalization - 63 Language Definitions Included amCharts Internationalization - 29 Language Definitions Included 100% MySQLi Prepared Statements Bootstrap Tooltips Toggleable Visibility of both your store header and Admin menu using CSS3 classes OS style selection, shift/control/CMD click to select multiple rows - Plenty of screenshots in package! -
- 57 replies
-
Support thread for "Ajax Product Listing (bootstrap)". Report problems here. Feedback and comments welcome. Download link: http://addons.oscommerce.com/info/9455 This add-on enables faster loading of product listing content, without re-loading the whole website, when using either the manufacturer/category filter drop down list, next/prev page and sort order. Useful, especially if you have other content above the product listings, where the current vertical scroll position is kept on the page when using the filter drop down list, next/prev page and sort order. For example, you may have "Category New Products Carousel" or "Category Popular Products Carousel" above category product listing content. Works for product listings on the following pages: - Category Product Pages - Specials Page - New Products Page - Search Results Page Note: content loaded via ajax is based on the stock osCommerce product listing content.
-
JcM Ajax State Select V1.0 Phoenix Updated to hook and adapted for Phoenix based on code snippets published on the forum by @De Dokta. This requires the replacement or edit of one core file so only use if your happy doing this. It will automaticity turn the state select input filed into a drop-down on the selection of a country that has states. This is done without the need to do a page refresh or submit. Make getting a new account a much better experience for the customer. That’s it Enjoy.. Has been tested on Phoenix Version 1.0.4.0 only. Can be see working on this site
-
About This add-on is based on SimpleSuggest, adding a search suggestion to your OsCommerce search box, but it also records each customers' searched keywords and sort the result products order by popular search, or even simply show the result in term of popular keywords. It also gives the ability to search in multiple keywords using AND/OR. Options can be set in Admin and automatically install and deal with database. By setting search type 'products' and sort by 'products', it works just like SimpleSuggest, but you can also sort the resulting products by 'keywords' - it's searched count. Or simply put search type to 'keywords' so it works as a self-learn search engine which gives the pass searched keywords (make sure you have enough saved search keywords before turn this on) ScreenShot http://richardfu.net/wp-content/uploads/2013/10/screenshot_1_search_suggest.jpg Search suggestion using or and multiple words http://richardfu.net/wp-content/uploads/2013/10/screenshot_2_admin_configuration.jpg Admin configuration http://richardfu.net/wp-content/uploads/2013/10/screenshot_3_stats_report.jpg Stats keyword searched 2.2.x Add-on page 2.3.x Add-on page
- 62 replies
-
- ajax
- self-learning
-
(and 8 more)
Tagged with:
-
Hello and welcome! jQuery/Ajax Advanced Order Handler for osCommerce 2.3.3 - Support thread - Have you noticed how frustrating order management in osCommerce can be? Especially if you display 100 orders at a time and every single time you need to look at another order you have to reload the entire page thus querying the database for each and every order again and again and again... It can be quite annoying, at least I thought so and it definitely isn't very effective. It's as bad/slow as it gets and we don't like slow, do we?. In addition to this most (if not all) who uses osCommerce have probably run into the problem of not being able to manually create new orders. Doing this natively requires one to actually login to an account and creating the order as if you were a customer. Even more problematic is modifying an existing order, doing this natively requires the admin to either delete & create a new order with correct details or manually editing the database directly. Both of which are, to say the least, very unattractive solutions. Having used a combination of Order Editors / Batch Printing Add-Ons myself I felt it was warranted to create a new Order Management solution that incorporates all of them in an easy to use & effective way. The goal was also to completely get rid of the need to refresh/reload the order page to see new orders. Order Refresh The solution was to use Comet: Comet is a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it. The Comet Technique used is Ajax with long polling with jQuery.ajax. This is how it works: A GET request is sent to stream.php in which it includes the current last order displayed together with a Timeout in seconds which you can set to any number you want in the order handler Bootstrap Fixed-bottom Navbar. So, if set to e.g. 20, stream.php will every 20 seconds check the order number of the newest order in the database. If the database has a newer order than the one displayed in the order table, then the script will break the loop and return a json response with the order number. This will be parsed by jQuery, which then sends another GET request to order_poller.php asking for the new order/orders, the new rows will be returned which will be added to your displayed order table by jQuery. It will only add new information, NOTmessing up your selections in the order handler. A Growl Notification will be displayed with information from the new order. Ajax Polling will automatically be enabled when the 'Pending' selection is selected from the 'Status' dropdown, but it can also be toggled in the Navbar. Order Handling To be able to display even the long order comments, I have added a feature to display them as Bootstrap Tooltips when hovered over. I have removed the menu selection box and instead used that space to display more information in columns. A feature to sort the orders by how many products are in them have been added. Clicking on a table row will not make any requests to the server but instead use jQuery to move the highlighting. The Navbar I have used a Bootstrap Navbar with a Fixed Bottom position. This means it will always be displayed at the bottom of the screen which helps a lot when seeking through orders or when updating them. I have used the Bootstrap Multiselect Add-On to get the menu items like I wanted and I have also used Font-Awesome to get some nice looking Icons. The Action field The action field is the rightmost column on the orders table, containing the five action icons. Hover mouse over them to see what each action does. Note that there will be no Dialog asking for confirmation on Order Duplication or E-Mail Order Confirmation, pressing any of those icons will instantly proceed with their action. From left to right; the first Icon will Mail a new Order Confirmation E-Mail to the customer (and the shop owner if configured) for that order; the second icon will duplicate the order; the third icon will open a Dialog for Quick Editing the order; the forth icon will open a dialog for creating a new order; the fifth icon will go to the "normal" edit order mode. Export I use Mail Merge in Pages for Mac OS X to create Envelopes. This is very easy and fast. To do this, you first need to create a Envelope template in Pages 4.3 (version 5.0 doesn't support this feature anymore for some reason). Look at what names the data-fields have and then change the code in print_batch_process_2.php around line 56 that looks something like this: echo "Name;Street address;Postcode;City;Country\n"; So it has the same names in the heading as your envelope data-fields. Then simply open the CSV created by selecting 'Envelope' in Numbers and convert the top row to a heading. Save and then open in Pages by selecting 'Mail Merge'. This will automatically create a new envelope for every address which you easily can print. Since I don't use Excel I don't know how this is done with that software, google it, I'm sure it has some similar functionality. There is also an alternative to export to XML, a format commonly used by shipping providers to import addresses to shipping labels. Ask your shipping provider how the XML file should be designed and then make the appropriate modifications to print_batch_process_2.php around line 79 to 106. Order Editing Having a dedicated page for editing orders isn't my first choice as a solution. Instead I found ledave's Add-On, the AJAX Orders Editor. The Order Editor enables you to edit the order directly on the Order page. I really liked this solution, however it still required some editing to get it to work (for me) with taxes etc. I also added the possibility to edit the Telephone and E-Mail fields*.Moreover, I added a feature to select available taxes when adding additional fields (note that the tax is overwritten if a product is added after adding the field) and adding jQuery code to automatically refresh the fields when they have been edited so that you don't have to refresh/reload the page to see the changes. Hopefully, this will work for everyone now without need to modify any code, but no promises.. Order Creation To create new orders I have used the Manual Order Maker Add-On. Used together with the Ajax Orders Editor, new orders can be created in just a couple of seconds, no matter whether it is from a new or an existing customer.I might* have added extra search functionality - search customer by E-Mail Address or Name and also added jQuery autocomplete to suggest customers from typed name. The Order Creator can be reached both from the menu and as a Modal Quick Open by clicking it's icon in the order handler, it will then automatically pre-select the customer that made the order from the same row. I have also added dropdown selections where you can select payment & shipping method for the new order. Order Duplication If you have a customer that want to place the same order as he/she has done before, then simply search for his order and press the Duplicate Order Icon. One click and a new order has been created for this customer with the same products & shipping/payment methods. This makes creating new orders really easy and if you need to change something, then just edit the order. Deleting Orders Just check the checkboxes for the orders you want to delete and then press the red 'Delete' button on the Navbar. You will get a confirmation modal where you can select to optionally restock the products and confirm/cancel the deletion. You can also delete specific order when your at "Editing mode". * I don't want to take credit for stuff I didn't do and I have used these Add-Ons for so long that I can't remember how they originally worked. Features for this Revision: Support for and tested on osCommerce 2.3.3 Tested successfully on Google Chrome and Firefox Compatible with jQuery 2.1.0 Complete Order Creator/Editor/Handler Edit any field on an order by simply clicking on it and change the value - Code used from the 'AJAX Orders Editor' Add-On by ledave. Edited fields will instantly be refreshed when edited or a product has been added/removed (including Order Total, if affected). Quickly Add/Remove products to a order by searching in a javascript window. Edit Name/Price on products. Add/Remove 'Extra' Fields like shipping/payment costs (adding tax is selectable). One-Click-Duplication of any order - E-Mail will be sent as if the order was created by a customer. Order Creator, both as a jQuery Dialog or as a whole page with added Autocomplete support for searching customers - Code used from the 'Manual Order Maker' Add-On Quickly Create New order for existing customer by either searching for customer by Name/E-Mail/Customer Nr. or clicking the quick add icon next to existing order. Quickly Create New order for new customer - Optionally Creating New account jQuery/Ajax Handling of Orders - No need for those costly page reloads every time you select a new order or want to update for new orders. Togglable Comet/Ajax Long-Polling for new orders - When a customer creates a new order, the Order Table will automatically update and add the new order to the list without messing with your selections. Never do a page refresh again! Growl like Notifications with jQuery Gritter http://boedesign.com/blog/2009/07/11/growl-for-jquery-gritter/ Order Comments will be displayable as a Bootstrap Tooltip - No need to open the order just to check what a comment says. Batch Delete of Orders - Simply toggle the checkbox for the orders you would like to Delete and then review & confirm the selections in a nice Bootstrap Modal. - Code used from one of the Batch Print Add-Ons, can't find which one. ;=( Batch Handling of Orders - Batch Print Invoices (one order = one A4) for the selected orders, without need for PDF, in one click. Code used is from 'Batch Printing without Frames or PDF v.2.3.1' Add-On by 0ethos0 (Originally made by PandA.nl) Batch Handling of Orders - Batch Update Order Status / Send E-Mail for selected orders. Batch Handling of Orders - Export CSV to be used for automatically creating Envelopes with Excel/Numbers/Pages. Batch Handling of Orders - Export XML to be used to automatically create Shipping Labels for your shipping provider. Added an 'Order by products quantity' sorting feature to simplify order processing by handling orders with just one product first. Search Orders by E-Mail, Name or Order Number. Simple Tab management - Batch Invoices will open/refresh in same tab, meaning you only need to tabs open to handle both orders and invoices. CSS3 Loading Spinner displayed while orders are updating preventing editing orders while they're being updated. HTML5 pushState with history.js - Enables Ajax support for Back/Forward button in browser. Fixed-Bottom Bootstrap Navbar with Bootstrap Multiselect - Sliding down automatically when editing orders. Quick Send New Order Confirmation E-Mail to customer
- 259 replies
-
This a light-weight add-on for changing shipping/billing address directly in Checkout Confirm page. If you use checkout payment modules like PayPal Express checkout, which obtain address from PayPal website, or using one page checkout, they would skip Checkout Shipping page and bring customers into Checkout Confirm page direct. Customers who want to change default address have to jump backward to Checkout Shipping page and forward causing bad user experience. In this case Ajax can greatly help and allow customers staying in same page with less clicks. A alert would appear if customers didn't confirm the address before confirming the order. Note: It would only change the address of the orders, not the address in customers' address books. Addon link: http://addons.oscommerce.com/info/8911 Screenshots: More On: richardfu.net/oscommerce-ajax-checkout-address/ Screenshots: http://richardfu.net/wp-content/uploads/2013/09/screenshot_1_edit.jpg http://richardfu.net/wp-content/uploads/2013/09/screenshot_2_confirm.jpg http://richardfu.net/wp-content/uploads/2013/09/screenshot_4_error.jpg http://richardfu.net/wp-content/uploads/2013/09/screenshot_3_alert.jpg
- 4 replies
-
- checkoutshipping
- ajax
- (and 7 more)
-
Hi Guys, I have a quantity box on my product info page and also OSC Cart, however this two are not working together (quanity box doesn't work). The quantity box is this simple file edit: FILE:includes/modules/product_listing.php replace: case 'PRODUCT_LIST_BUY_NOW': $lc_align = 'center'; $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> '; break; } With: case 'PRODUCT_LIST_BUY_NOW': $lc_align = 'center'; $lc_text = tep_draw_form('buy_now' . $listing['products_id'], 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('list_quantity', '1', 'size=2') . tep_image_submit('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</form> '; break; } Also a minor change to application_top to add quantity not +1. The OSC Cart is from the contribution OSC to CSS (v2.2) - http://addons.oscommerce.com/info/7263 Any help appreciated.