hakeryk2 Posted July 28, 2017 Share Posted July 28, 2017 Hello community, Does anyone know how to add information about product/attribute date_available to confirmation orders mail (order_conf.html) next to product name? I mean if customer ordered something and he is receiving confirmation mail with list of products bought that if some product has available_date different then 0000-00-00 or date is in the future from now, than this date is shown in email? I will be very happy if someone will tell me how to achieve this. Link to comment Share on other sites More sharing options...
ventura Posted July 29, 2017 Share Posted July 29, 2017 In Prestashop 1.6 classes\PaymentModule.php 1. In function validateOrder . Inside this foreach ($order->product_list as $product) { add $available_date= Product::getAvailableDate((int)$product['id_product'],($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null)); 2. In product_var_tpl array, add 'available_date' => isset($available_date) ? $available_date : '', 3. In mails\en\order_conf_product_list.tpl add the new variable {$product['available_date']} 1 Link to comment Share on other sites More sharing options...
Scully Posted July 29, 2017 Share Posted July 29, 2017 And eventually use an if statement in order to check whether available date is set or not. Probably getavailabledate does it already... Link to comment Share on other sites More sharing options...
hakeryk2 Posted July 31, 2017 Author Share Posted July 31, 2017 (edited) @ventura Thank You, another user in polish forum gave me similar solution in this thread (3rd post) https://www.prestashop.com/forums/topic/621686-dodanie-daty-dostępności-zamówionych-produktów-do-order-confhtml/ @Scully getavailabledate is not doing it so I gave little solution to this in thread mentioned above Edited July 31, 2017 by hakeryk2 (see edit history) Link to comment Share on other sites More sharing options...
Scully Posted July 31, 2017 Share Posted July 31, 2017 Ok, but what I didn't get. Is the issue solved now? If yes, please add SOLVED to the topic title. Link to comment Share on other sites More sharing options...
hakeryk2 Posted July 31, 2017 Author Share Posted July 31, 2017 (edited) Yup, issue is solved. In paymentModule.php I added something like this //added $availability_date = Product::getAvailableDate($product['id_product'], ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null)); $today_time = strtotime(date('Y-m-d')); $expire_date = strtotime($availability_date); if ($availability_date != '0000-00-00' && $today_time < $expire_date) $date_available = $availability_date; // end added $price = Product::getPriceStatic((int)$product['id_product'], false, ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null), 6, null, false, true, $product['cart_quantity'], false, (int)$order->id_customer, (int)$order->id_cart, (int)$order->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $price_wt = Product::getPriceStatic((int)$product['id_product'], true, ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null), 2, null, false, true, $product['cart_quantity'], false, (int)$order->id_customer, (int)$order->id_cart, (int)$order->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $product_price = Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt; $product_var_tpl = array( 'reference' => $product['reference'], 'name' => $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''), 'unit_price' => Tools::displayPrice($product_price, $this->context->currency, false), 'price' => Tools::displayPrice($product_price * $product['quantity'], $this->context->currency, false), 'quantity' => $product['quantity'], 'customization' => array(), // added 'availability_date' => $date_available ); And now everything works as it should (date is shown in email when date is after current date). Edited February 12, 2018 by hakeryk2 (see edit history) Link to comment Share on other sites More sharing options...
jomcdonald Posted November 10, 2017 Share Posted November 10, 2017 Hello I am trying to do the same thing but for the basket page. I want to include the $product.available_date variable in the shopping-cart-product-line.tpl file. Can you find me a solution because I have been looking for several weeks without success. Thank you Sorry for my english are french. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now