Jump to content

bsmither

Member
  • Posts

    18,132
  • Joined

  • Last visited

  • Days Won

    607

Everything posted by bsmither

  1. Above, these images do not show what we need to see. Bring up the category "Powerball" for editing. Take a screen grab of the Search Engines tab. Bring up the product "Powerball" for editing. Take a screen grab of the Search Engines tab.
  2. I am sure it could, as it seems most of the structure is already there - according to the description. But because Noodleman encodes the plug scripts, only Noodleman can make these changes.
  3. The screen grab in the first post shows the View Category page - which, unless you implement a certain plugin, options for the products listed on a category page are not to be shown. Clicking on the product image or title is supposed to take you to the View Product page, but CubeCart is delivering the View Category page again. I would look at the product "Powerball" and category "Powerball" and determine which one is supposed to have that specific path on the Search Engine tab when editing a product or category.
  4. As you describe it, it is odd. I have never seen this happen this way. Just to be clear, when entering terms to search in the "Quick Search" text entry box, the magnifier icon is what is getting clicked on to submit the search? But not clicking on the link that says 'Advanced Search' located just below the text entry box?
  5. In CC652, the Foundation skin was coded to show traditional pagination - a series of page numbers, but only for when the page is not on a mobile device. If on a small screen (that is, mobile), then the More button is used. But if the store owner wants to use the More button on wide screens, CC652 now uses a cookie that lasts for 10 minutes to store where in the scroll the browser was last showing. So, let us know what skin if not using Foundation, and what version of CubeCart if using Foundation. (Please see GitHub issue #3344.)
  6. Yes, there have been some changes in the javascript plugin 'DropZone', that when an image is dropped onto the zone, the image is resized at the browser - thus reduced in size - then uploaded to the server where CubeCart will accept the uploaded image. The point of this is to make sure the image is below the filesize threshold (used to be limited at 350kB). But, in resizing, the javascript changed all images to a jpg type. I *think* this was changed to webp recently because jpg images does not do transparency, but webp does. (I am not 100% sure of the final resolution on this. The reason for the filesize limit is because the filesize implies image dimensions. When creating specific-sized variants, PHP's GD Image Library decompresses the image to work on it. The image's decompressed size in memory could - and has - exhausted the memory in PHP's operating environment.)
  7. If so, then using a programmer's text editor, in the file /classes/catalogue.class.php: Near line 1990, find: $indexes = $GLOBALS['db']->getFulltextIndex('CubeCart_inventory', 'I'); Change to: // $indexes = $GLOBALS['db']->getFulltextIndex('CubeCart_inventory', 'I'); Near line 1786, find: $original_search_data = $search_data; After that line, add this: $indexes = $GLOBALS['db']->getFulltextIndex('CubeCart_inventory', 'I'); This edit just moves the statement to a place above the hook call. A Code Snippet will be used to add a column of the Inventory database table to search for keywords. In admin, Manage Hooks, Code Snippets tab, click the Add Snippet link. When the Snippet form appears, enter: Enabled: checked Unique ID: add_search_columns@CC6 Execution Order: 1 Description: Adds more text columns to search on the CubeCart_inventory table. Trigger: class.catalogue.pre_search Version: 1.0 Author: https://forums.cubecart.com/topic/58751-including-product-identifiers-in-search-results-upc-isbn-jan-mpn-etc/ PHP Code: <?php /* Specify the name of the column, * with 'I' table identifier, * of the CubeCart_inventory table * to search for keywords. */ $indexes[] = 'I.gtin'; Save. Test.
  8. I'm taking a good look at how the Search happens, planning how to best use a Code Snippet to get another database table column searched. So, still working on this.
  9. So, if the product's description made mention that this card/player is associated with the Cincinnati Bengals, how would CubeCart's search not find this? I assume, then, that for good reason, the description will not or cannot make this mention. Maybe using GTIN is a more broadly appropriate solution? I am also thinking of a different solution -- changing the columns that CubeCart searches in. The first search looks in the aggregate of the product code, product name, and description. If a (rather weird) search fails to find results, a second search is made against whole words that might be found in any of these columns. If that fails, a third search is made using the given string of characters that might be found as a part of any word in any of those columns. The current problem is that the first search uses the columns declared as a group (fulltext), but the second and third search uses hard-coded names of columns. The idea is to change the FULLTEXT search group to include GTIN. This action must be performed directly against the database. To solve the problem mentioned above, there must be some edits to the code. Creating a Code Snippet is better than this solution. I will be back later with a suggested snippet.
  10. Let's look at Advanced Search. This page gets populated and rendered in the CubeCart->_search() private function. This function gathers certain information, prepares it if necessary, and assigns it to respective template variables. Currently, the only info that needs to be prepared is the list of manufacturers (and maybe a list of sort choices). There is a hook allowing to gather and process more info to be shown on a customized template. The search parameters get POSTed to the CubeCart->_category() private function. The search term(s) get logged in the Search Log. (See in Admin, Statistics.) In this function, the search parameters are passed to the Catalogue->searchCatalogue() function. Right at the start of searchCatalogue() is a hook allowing to add more search parameters. For example, a new search parameter might be: $where[]="I.isbn='978-1-890774-44-8'"; One needs to figure out how to get a search term and the database table and column identified. One suggestion is to enter a term that looks like: "ISBN::978-1-890774-44-8" The code would explode() the string on the '::' to an array, list() the array elements to $custom_key and $custom_value, and finally: $where[] = "I." . strtolower($custom_key) . "=" . $custom_value; Looking at columns in another table is a bit more involved by pushing strings onto the $join array. The search code should continue with appropriate results retrieved from the database. The mentioned hooks are the tools you use to get CubeCart to do what you want. And in Admin, Manage Hooks, Code Snippets tab is where these tools are created.
  11. This was fixed in CC6.2.4: see the GitHub issue #2187. https://github.com/cubecart/v6/issues/2187
  12. Please think about doing this: Keep the product record for the product that is no longer available, but set its Status to unchecked. Clone that product to a new product record, make appropriate changes, save. (The parts of the source product for cloning can be selected in Store Settings, Extra tab.) This keeps the sales records straight. This strict bookkeeping might not be important to you now, until it does. Keep the 404 result, but give some consideration to enhancing the 404 skin template to say, "That item has been sold, but view this category for similar products." * I would say to redirect from the product's seo path to the category's seo path, but there is something stopping this from happening.
  13. Version 1.0.6 says: "Custom Order Status now offers a new setting: "Count As Unsettled Order". When enabled, the custom status is counted (included?) in the Unsettled Orders tab of the CubeCart dashboard."
  14. This is not 'hacking'. (It is an unfortunate choice of word, but) In this context, it is a term to mean "time hack", as when marking the time from a timer or stop watch. The value after the work 'Hack' is the UNIX Time value -- number of seconds since 12:01am, January 1, 1970 (including microseconds after the decimal point). Technicians assigned to troubleshoot slowdowns or bottlenecks will use these values to determine where and what took a long time to get from one database query to the next.
  15. A very brief run of the storefront and admin dashboard shows that CC6114 has preg_replace() issue. See the Github issue #2220. But, since you are running this under PHP 7.0, you should have already made that fix.
  16. I will install a stock CC6114 and run it under PHP 7.4. I'll report back if there are any issues. Also, be advised that any ionCube encoded third-party modules built for PHP 7.0, will need to be given some consideration when creating an environment with PHP 7.4. The ionCube decoder may need to be upgraded to run under PHP 7.4, and that means the encoded modules will have to have specific versions available for that environment.
  17. CC646 says PHP 5.5 is the minimum, but that was not correct. CC647 incorporated a correction to state that PHP 7.1 is the minimum. CC645 says PHP 5.5 is the minimum, and also says it will not run under PHP 8. I have CC6012 through CC645 running under PHP 7.4. So, maybe I misunderstood your initial question? Are you saying you have issues running CC6114 under PHP 7.4?
  18. Not familiar? It is admin, Orders with: no items per page selector, no javascript, no images, no CSS, and added table column showing data from CubeCart_order_summary.gateway field. (Not familiar with the red-colored order number, unless color applied in this post to draw your attention to it.)
  19. Should there be a project to add the means to instantly create a related customer record while creating a new order, the result would be a narrow implementation. That is because a customer record will have a name, where that customer's related various addressbook records can have different names. So, maybe building a code snippet to be used by those that can use this specific implementation.
  20. Please know that when an admin creates an order, providing delivery and billing details (which includes customer names and addresses), saving such an order, currently, does not automatically also use the customer details to create a new customer record in the database. (But it should be possible to add the necessary code to do that.) When listing orders, if there is a customer_id accompanying that order, then yes, there will be a link to bring up the editing page to show that customer's details.
  21. So your question at first was not "Is this how it happens?", but rather "Can I make it do this?" And by "this", perhaps you meant that the module should tell CubeCart to set the order's status to "Declined" when Authorize.net sends back a response code of 'Declined' (case 2). The gateway.class.php file will need to be customized so that it will tell CubeCart to set the order's status to match that that of Authorize.net's response.
  22. Yes. The Authorize.net gateway code (version 1.1.1 is what I am looking at) will tell CubeCart to set the order to Pending if the response code is anything other than Approved. That is: Declined, Error, and Held for Review. It will do this regardless whatever status the order had previously. This module (which might not be the same as the latest Authorize module from the MarketPlace) has two modes: SIM and AIM. The SIM mode does not record the order status in the respective order's Transaction Logs tab. The AIM mode does.
  23. "Removing the parentheses still results in the same behaviour." To be clear, when using the flyout to enter a customer's name (a job number), you were able to enter a left parenthesis? I changed the Last Name of a customer to be (3456789), of which entering 345 brought up that customer for selecting. (The 'autocomplete' script requires three characters before an ajax request for search results is fired.) Note: I also found out why my browser (Firefox 115) will not accept a left parenthesis in the search string. So, on Orders, Search Orders tab, entering Mar in Customer Name, but not also clicking on one of the suggested results, then clicking the Search button, this has failed to assign to the Customer Name text entry field the customer_id value of the selected choice from the list of suggestions. Thus, in this scenario, having clicked the Search button will submit the form but with nothing to search against. You mention administratively creating orders with no customer info? That does seem to be possible, and is there a workflow reason to not include a job number (Last Name)?
×
×
  • Create New...