Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


ecartz last won the day on May 22

ecartz had the most liked content!

Recent Profile Visitors

42,281 profile views
  1. ecartz

    Wrong redirect after add to cart

    tep_redirect(tep_href_link($goto, tep_get_all_get_params(array('action'))); would probably solve your immediate problem.
  2. I think that you would have to name it hook_admin_siteWide_hMenu instead, as it is a hook now. Note that I haven't tried it, so I'm not really sure what would happen. Overriding hooks may lead to gremlins.
  3. You might want to change lines 67-71 to $tpl_data = ['group' => $this->group, 'file' => __FILE__]; include 'includes/modules/block_template.php'; Which happens to be robust in the face of name changes as well as forwardly compatible with switchable templates. See https://github.com/gburton/CE-Phoenix/commit/e8280d9fdf6364c01484fb5f292adf2511bcefbb#diff-da2a69f7f229fdc1ad483c93b286d7f2 for examples.
  4. Nothing to do with this App (PWA), but this suggests that the class name and file of manualCart do not match or are not in includes/classes or includes/modules. I would expect a class name of ManualCart and a file name of manual_cart.php -- it's possible that just changing those to match expectations would work. You might want to post in that App's support thread for more help.
  5. Also, this usually means that there is an error. This error might be logged somewhere. And knowing what the error was would be helpful. You'd have to put the files in navbar not navbar_modules.
  6. ecartz

    Free Shipping Per Product for v2.3

    Create a checkout_shipping, injectRedirects hook. public function listen_injectRedirects() { $GLOBALS['products_ship_free'] = false; if (!GLOBALS['free_shipping']) { define('TEXT_CHOOSE_SHIPPING_METHOD', TEXT_CHOOSE_SHIPPING_METHOD_NO_PFS); define('TEXT_ENTER_SHIPPING_INFORMATION', TEXT_ENTER_SHIPPING_INFORMATION_NO_PFS); return; } foreach ($_SESSION['cart']->get_products() as $product) { if (1 == $product['ship_free']) { $ship_free_count += $product['quantity']; } } if (($GLOBALS['total_weight'] == 0) && ($GLOBALS['total_count'] == 0)) { $products_ship_free = true; $GLOBALS['free_shipping'] = true; if (!defined('FREE_SHIPPING_TITLE')) { include 'includes/languages/' . $_SESSION['language'] . '/modules/order_total/ot_shipping.php'; } } define('TEXT_CHOOSE_SHIPPING_METHOD', ($products_ship_free ? sprintf(PRODUCTS_SHIP_FREE_COUNT, $ship_free_count); : TEXT_CHOOSE_SHIPPING_METHOD_NO_PFS)); define('TEXT_ENTER_SHIPPING_INFORMATION', ((!$products_ship_free && ($ship_free_count > 0)) ? sprintf(PRODUCTS_SHIP_FREE_COUNT_ONLY, $ship_free_count) : TEXT_ENTER_SHIPPING_INFORMATION_NO_PFS)); } or similar. In the language files for that page, for each language, change TEXT_CHOOSE_SHIPPING_METHOD to TEXT_CHOOSE_SHIPPING_METHOD_NO_PFS and TEXT_ENTER_SHIPPING_INFORMATION to TEXT_ENTER_SHIPPING_INFORMATION_NO_PFS. In your overridden shopping_cart class, also change function count_contents() { $total_items = 0; if (is_array($this->contents)) { foreach (array_keys($this->contents) as $products_id) { $total_items += $this->get_quantity($products_id); } } return $total_items; } to function count_contents() { $total_items = 0; if (is_array($this->contents)) { foreach ($this->contents as $products_id => $product) { if (1 != $product['ship_free']) { $total_items += $this->get_quantity($products_id); } } } return $total_items; } and change in the calculate function $this->weight += ($qty * $products_weight); to if (1 != $this->contents[$products_id]['ship_free']) { $this->weight += ($qty * $products_weight); } That should cover the checkout_shipping instructions Lambros posted. There may be other changes necessary to other files that are not included here. For example, there are other changes to the shopping_cart class posted in the instructions. And the catalog/shopping_cart.php change would now be made in includes/modules/content/shopping_cart/templates/tpl_cm_sc_product_listing.php Replace echo '<th><a href="' . tep_href_link('product_info.php', 'products_id=' . $product['id']) . '">' . $product['name'] . '</a>'; foreach (($product['attributes'] ?? []) as $option => $value) { with echo '<th><a href="' . tep_href_link('product_info.php', 'products_id=' . $product['id']) . '">' . $product['name'] . '</a>'; if (1 == $product['ship_free']) { echo '<br /><span class="smallText">(' . TEXT_PRODUCT_SHIPS_FREE . ')</span>'; } foreach (($product['attributes'] ?? []) as $option => $value) { That's three lines added between two existing lines. Hopefully that will be enough to get you going. @Omar_one
  7. If you do not have a shipping module installed, you can't get past the checkout_shipping page unless you have only virtual products in your cart. There needs to be at least one shipping method that is valid for your current address. That has nothing to do with this App. You'd get the exact same behavior if you registered an account. He means under admin > Modules > Customer Data > Email Address -- you need, at minimum, the email module enabled for the create_account_pwa page. You will have to click the Edit button and check the box next to create_account_pwa
  8. ecartz

    Wrong redirect after add to cart

    This suggests that you should ask in the Ultimate SEO URLs thread.
  9. Given the problems that you were reporting with the guest module triggering on the create_account and admin/customers pages, one solution would be to make it possible to shut off modules on those pages. Currently every module displays on those pages, as they traditionally showed every input. Presumably Rainer's solution shuts off the module on other pages in some other way. If it is easier to make the module work with the modified version, then I can put those changes in core. Then the version that I posted would essentially become standard Phoenix.
  10. @raiwa @rupruprup If you want, you could try the alternative version of Phoenix at https://github.com/ecartz/CE-Phoenix/tree/guest On a live store, you might want to run UPDATE configuration SET configuration_value = CONCAT(configuration_value, ';create_account;customers') WHERE configuration_key LIKE 'MODULE_CUSTOMER_DATA%PAGES' Although you could get the same effect by uninstalling and reinstalling or simply editing the configuration of those modules. Note that after running that SQL, you might have to edit the guest module to remove those two pages. I have done no testing of that version at the moment. Use at your own risk, only on test stores.
  11. Did you click the Install Module button and look under index_nested? After checking that it isn't already installed of course.
  12. I can tell you that we are not. There is a third party who wrote a slug-based URL rewriter that might be adaptable into something integrated with mod_rewrite. But I don't know if that is going to launch and would not be built-in.
  13. Go to and click Reply to this Topic. It seems that you keep hitting Start a New Topic, which is one reason why you can't see your previous posts in that thread. If you go to https://forums.oscommerce.com/forum/23-order-total-modules/ then you should be able to see your posts.
  14. I can see your previous threads: But please note that none of these do what Jack suggested. Which is to find the existing thread for the particular App that you are using and post in that existing thread. You keep posting new threads. I can't even tell just by reading what App you have tried. You posted a name but I'd have to search to see if I could find it. You seem to be confusing a forum with a thread. This is the Order Total module forum. It is where developers go to post support threads for Apps. It's not really intended for users to post question threads. And in general, your threads aren't asking the kind of questions that people can help you. I've read them. I don't know the answer to the questions you are asking. The only person who might know is the developer who made the App. If the developer has not responded to you so far, then it is quite likely that that person is not reading the forum actively. Posting in the actual support thread might notify that person. It's also possible that the App is not actively supported. It might need a new developer to take it over or to code a new one. To interest such a developer, you would have to pay that person. Because there aren't roving developers just waiting around to do free work. Alternately, if you are actively trying to code something yourself, you could show us what you tried, what you thought/hoped would happen, and what actually did happen. Then ask for help making it work the way that you wanted. But as is, your question basically comes down to you wanting to do something and asking us to figure out how to do it for you. And frankly, I'm far too lazy to do that. In general, if your question requires us to find and download an App (or two) just to figure out what you're actually asking, it's unlikely that anyone will try to answer it.
  15. I'm not sure what you did, but if you were using some variation of the osCommerce form, the products_id would show like 666{1}. But in your image, it is showing as just 666.