Jump to content

Roberto 84

Members
  • Posts

    41
  • Joined

  • Last visited

Everything posted by Roberto 84

  1. Same issue for me. Update quantity manually through DB still doesn't work! (with server and browser cache cleared)
  2. You can do it with "Cart abandoned reminder" in sendblue automation backend. Watch this video: https://www.youtube.com/watch?v=unTjYmqYGyA&t
  3. Si i popup il più delle volte se non relativi a ciò che stiamo vedendo sono più fastidiosi che altro (a meno che non riusciamo ad attirare l'attenzione con qualcosa in particolare, essendo il livello di attenzione del navigatore medio di circa 3 secondi....). Ora non so il tuo sito com'è posizionato con determinate parole chiavi e quanta concorrenza c'è per i prodotti che vorresti aggiungere. Con qualcosa di esterno la vedo ancora più difficile, perchè con una pagina sola, devi tirare traffico comunque perlopiù a pagamento...evita le super ottimizzazioni SEO in-page che possono portare ad effetti negativi. L'ideale potrebbe essere al limite (ma richiede più lavoro) aprire un minisito, anche statico, dove presenti i tuoi prodotti ed "istruisci"/ informi il navigatore su determinati argomenti relativi ai quei prodotti specifici, reindirizzandoli poi al tuo sito dove potranno finalizzare l'acquisto (es° blog). Sicuramente a livello SEO avrebbe un peso maggiore per i risultati organici nei motori di ricerca. Le variabili sono molte, devi solo decidere da dove cominciare. - Vai su Google keyword tool; - Trova le parole chiavi con i quali i tuoi prodotti possono essere trovati; - Vedi i termini che hanno più ricerche; - Fai una ricerca con quei termini ed analizza i primi 10 risultati che ti escono (prendi in considerazione dopo quelli di Amazon/comparatori); - Vedi in che modo sono stati stilati articoli informativi su quei prodotti e quante parole hanno - Scrivi i tuoi contenuti che abbiano una quantità di parole simile e che diano informazioni aggiuntive/diverse Rob.
  4. Figurati. Questo chiaramente è un esempio di quello che puoi fare. Un'altra cosa interessante potrebbe essere un popup di entrata che i clienti vedrebbero una volta atterrati sul sito (che sostituirebbe diciamo la landing page, come ad esempio quello dell'iscrizione alla newsletter) dove puoi pubblicizzare la categoria e/o i prodotti su cui vuoi veicolare traffico. Come ti consigliava anche @disarci, puoi utilizzare pagine CMS statiche dove inserire prodotti singoli e realizzarla come vuoi. Puoi trovare un modulo FREE che potrebbe fare proprio al caso tuo qui: https://www.prestashop.com/forums/topic/524307-free-module-products-on-cms-pages-prestashop-17-16/ Rob.
  5. Dunque la cosa più rapida che mi viene in mente, è creare una categoria principale del tipo "Fuori tutto" o qualcosa di simile (magari nel menù principale in evidenza) in cui destinare i vari prodotti di cui ti vuoi "disfare" (essendo appunto prodotti che da come ho capito non torneranno più a stock). Puoi anche metterli in mezzo agli altri prodotti (se hai già delle categorie create nelle quali potresti associare tali prodotti e come seconda categoria, puoi assegnargli la categoria "Fuori tutto", così per aumentare la possibilità di veicolargli traffico sia a coloro che guardano altri prodotti nelle altre categorie, sia a chi entra direttamente nella categoria "Fuori tutto". Fatte queste associazioni, puoi inserire dei banner che veicolano traffico a quella categoria, nella colonna sx o dx, nel footer, homepage, ecc... Per le landing page come ti dicevo, puoi crearne di specifiche per i prodotti che vuoi spingere di più anche con tool esterni come ho fatto ad esempio qui (bridge page): https://iltuodominio.ucraft.site/ Rob.
  6. Ho provato a cambiare combinazione al link che mi hai dato ed il prezzo cambia correttamente in base al peso che seleziono insieme all' URL. Roberto
  7. Le landing page in genere vengono usate appunto per far "atterrare" il navigatore (per esempio tramite traffico a pagamento, campagne di e-mail marketing ecc...). Lo scopo è quello di far intraprendere un'azione all'internauta (quanto mi piace questa parola . Puoi crearla nel tuo dominio o meno, ad esempio anche con uno spazio web gratuito, installi wordpress ed elementor, e crei tutte le landing page che vuoi... che dirottano poi al tuo sito..diciamo così impostato il discorso è un po' generico. Dovresti essere un po' più specifico.
  8. Hi. I'm trying to show in product page the supplier reference according to combination selected (like the default reference sku does). I assigned the supplier and the supplier reference in BO for each combination attribute (in product option TAB). With code: {$product.supplier_reference} in product.tpl and product-variants.tpl, nothing show up . Any clue for this ? Thanks Ps: 1.7.2
  9. Hi ! I'm trying to use the location field in template, to enter some information at the combination level to show to customers (when they select a certain combination). The data is correctly inserted into the 'ps_product_attribute' table as seen in the screenshot attached. Is it possible to get the data out from the "location" field to show it in product_variants.tpl template ? Thanks
  10. Thanks for reply rrataj! What I saw, is that after placing an order, the quantity decrease from stock (I can see it in product backend). Is there any way to avoid commenting these lines, while keeping the same result ? As I understood, when placing an order, it should be update only the product/combination stock. But I suspect it update all products stock and combination...otherwise I can't explain how it takes more than 40 seconds to update only the stock of only 1 product. Cheers, Roberto
  11. Well, investigating the situation, I found the file that slow down the last step for about 25 seconds, resides in the query for updating the availability in database. The file is: /src/Adapter/StockManager.php at this function here: public function updatePhysicalProductQuantity($shopId, $errorState, $cancellationState, $idProduct = null, $idOrder = null) { $this->updateReservedProductQuantity($shopId, $errorState, $cancellationState, $idProduct, $idOrder); $updatePhysicalQuantityQuery = ' UPDATE {table_prefix}stock_available sa SET sa.physical_quantity = sa.quantity + sa.reserved_quantity WHERE sa.id_shop = ' . (int) $shopId . ' '; if ($idProduct) { $updatePhysicalQuantityQuery .= ' AND sa.id_product = ' . (int) $idProduct; } if ($idOrder) { $updatePhysicalQuantityQuery .= ' AND sa.id_product IN (SELECT product_id FROM {table_prefix}order_detail WHERE id_order = ' . (int) $idOrder . ')'; } $updatePhysicalQuantityQuery = str_replace('{table_prefix}', _DB_PREFIX_, $updatePhysicalQuantityQuery); return Db::getInstance()->execute($updatePhysicalQuantityQuery); } and here: private function updateReservedProductQuantity($shopId, $errorState, $cancellationState, $idProduct = null, $idOrder = null) { $updateReservedQuantityQuery = ' UPDATE {table_prefix}stock_available sa SET sa.reserved_quantity = ( SELECT SUM(od.product_quantity - od.product_quantity_refunded) FROM {table_prefix}orders o INNER JOIN {table_prefix}order_detail od ON od.id_order = o.id_order INNER JOIN {table_prefix}order_state os ON os.id_order_state = o.current_state WHERE o.id_shop = :shop_id AND os.shipped != 1 AND ( o.valid = 1 OR ( os.id_order_state != :error_state AND os.id_order_state != :cancellation_state ) ) AND sa.id_product = od.product_id AND sa.id_product_attribute = od.product_attribute_id GROUP BY od.product_id, od.product_attribute_id ) WHERE sa.id_shop = :shop_id '; $strParams = array( '{table_prefix}' => _DB_PREFIX_, ':shop_id' => (int) $shopId, ':error_state' => (int) $errorState, ':cancellation_state' => (int) $cancellationState, ); if ($idProduct) { $updateReservedQuantityQuery .= ' AND sa.id_product = :product_id'; $strParams[':product_id'] = (int) $idProduct; } if ($idOrder) { $updateReservedQuantityQuery .= ' AND sa.id_product IN (SELECT product_id FROM {table_prefix}order_detail WHERE id_order = :order_id)'; $strParams[':order_id'] = (int) $idOrder; } $updateReservedQuantityQuery = strtr($updateReservedQuantityQuery, $strParams); return Db::getInstance()->execute($updateReservedQuantityQuery); } Now, commenting the lines: // return Db::getInstance()->execute($updateReservedQuantityQuery); and // return Db::getInstance()->execute($updatePhysicalQuantityQuery); in both functions. The page loading confirmation time, is about 1 sec.😎 The million dollar question is: By commenting out this line, can it cause strange behavior? I have not noticed any freak, the stock decreases regularly from the product/combination after order confirmation, and everything seems ok when increasing the stock level from backend to product/combinations. Hope in a reply for someone more expert than me Thank you.
  12. It is certainly an extra step that customers need to add to the process to complete an order, but it is also about being professional. People are used to validating their e-mails during the registration/buying process in online stores. I don't think there are any shops that don't include this step. Even if the double opt-in is not mandatory in the GDPR during the registration step, it is still an extra guarantee for customers, which certainly, for the more careful ones, it will surely be appreciated. To "sweeten the pill", it could be pointed out during the e-mail confirmation procedure that this mechanism serves to ensure the safety of customers. To create a "flowing" experience, it would be perfect, after clicking on activation link, If there are products in the cart (and therefore registered from checkout process) make a redirect directly to the 1st step of the checkout to continue the order process smoothly. Maybe another aspect to consider should be that of login via social media (facebook, google, etc.) as if they register through these services (aka social login), the e-mail address should already be activated and therefore the activation email link should not be needed. My 2 cents
  13. I'm sorry, but I have to say that it's absolutely unbelievable that there is no default way to verify email address when customer/visitor create an account (as happens in 100% of the e-commerce shops in the world).
  14. Ciao, Purtroppo il problema è che è già un'impresa di per sè aver un negozio con prestashop privo di bug. Siccome ho effettuato moltissime modifiche, preferisco correggere i bug che ci sono e tenere una versione che funziona, invece che cominciare a correggere le migliaia di bug che ci saranno nella 1.7.6.8 ... ad ogni modo ho fatto un check dei moduli installati e quello incriminato era il baproductcarousel che causava il malfunzionamento della cancellazione dell'indirizzo lato costumer.
  15. Yes. I just solved. It was the bacarouselproduct slider module that caused the wrong address deletion. Dunno if related to warehouse theme.
  16. Salve. Sto riscontrando questo problema in uno shop in costruzione con tema warehouse. Non riesco a cancellare gli indirizzi creati, lato frontend cliente registrato. Dal backend posso cancellarli tranquillamente, ma quando effettuo il login nell'area riservata nel mio account, andando su indirizzi e cliccando sul cestino, appare il messaggio "Impossibile cancellare l'indirizzo" Con redirect nel dettaglio dell'indirizzo. Allo stesso tempo posso crearne di nuovi ed aggiornare quelli esistenti 😮 Cosa può generare questo errore ? Nessun altro errore è presente nel LOG del server. Prestashop v. 1.7.2.4 Grazie mille.
  17. Solved. In template product.tpl I changed: {block name='product_refresh'} <input class="product-refresh ps-hidden-by-js" name="refresh" type="submit" data-url-update="false" value="{l s='Refresh' d='Shop.Theme.Actions'}"> {/block} to {block name='product_refresh'} <input class="product-refresh ps-hidden-by-js" name="refresh" type="submit" value="{l s='Refresh' d='Shop.Theme.Actions'}"> {/block} There was a "data-url-update="false", dunno why. Does anyone know what that value is for?
  18. Website is not online, but in maintenance mode. I'm cloning the entire website to another subdomain for testing purposes. I noticed no <label> tag around radio buttons . Could this be the lack, which does not take information to generate the url?
  19. Hi _tech. Sorry, I forgot to specify the version: PS 1.7.2.4 . I'm pretty sure it's the theme, which I made some changes. Warehouse theme. Thanks,.
  20. Hi. Don't know why, but URL variations, doesn't change in product page when changing selected attributes. No errors found in Chrome debugging. Which file is responsible for updating the URL when changing attributes variation? Thank you. Ps: the product is added to the cart correctly, with the chosen variants.
  21. I'm just investigating what is the cause of slowdown loading in the last checkout step. I'm attaching screenshot and debug code : Tables stress 108 product_attribute 105 product_attribute_shop 77 attribute_lang 77 attribute 77 product_attribute_combination 65 attribute_group_lang 35 stock_available 25 product 24 image 23 image_shop 23 image_lang 22 product_shop 21 cart_product ------------------------- ObjectModel instances Product: 171 /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Cart.php [2321] /classes/Cart.php [2321] /classes/Cart.php [2321] /classes/stock/StockAvailable.php [470] /modules/ps_emailalerts/ps_emailalerts.php [511] /modules/ps_emailalerts/ps_emailalerts.php [511] /classes/order/OrderDetail.php [853] /classes/stock/StockAvailable.php [470] /modules/ps_emailalerts/ps_emailalerts.php [511] /modules/ps_emailalerts/ps_emailalerts.php [511] /classes/order/OrderDetail.php [853] /classes/stock/StockAvailable.php [470] /modules/ps_emailalerts/ps_emailalerts.php [511] /modules/ps_emailalerts/ps_emailalerts.php [511] /classes/order/OrderDetail.php [853] /src/Core/Foundation/Database/EntityRepository.php [141] /src/Core/Foundation/Database/EntityRepository.php [141] /src/Core/Foundation/Database/EntityRepository.php [141] /src/Core/Foundation/Database/EntityRepository.php [141] /src/Core/Foundation/Database/EntityRepository.php [141] /src/Core/Foundation/Database/EntityRepository.php [141] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /src/Adapter/Image/ImageRetriever.php [52] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /src/Adapter/Image/ImageRetriever.php [52] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /src/Adapter/Image/ImageRetriever.php [52] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /src/Adapter/Image/ImageRetriever.php [52] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /src/Adapter/Image/ImageRetriever.php [52] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /src/Adapter/Image/ImageRetriever.php [52] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] /classes/Link.php [98] ----------------------------- Customer:46 /config/config.inc.php [212] /modules/ps_wirepayment/controllers/front/validation.php [46] /classes/Carrier.php [1529] /classes/PaymentModule.php [208] /classes/order/OrderDetail.php [710] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /modules/myprestaloyalty/LoyaltyModule.php [71] /classes/order/Order.php [290] /classes/order/Order.php [290] /classes/order/Order.php [290] /classes/order/Order.php [290] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] /classes/Product.php [603] --------------------------- Address:18 /classes/module/Module.php [1832] /classes/tax/Tax.php [197] /classes/Product.php [2984] /classes/Product.php [4538] /classes/Cart.php [3408] /classes/Cart.php [2545] /classes/PaymentModule.php [299] /classes/PaymentModule.php [350] /classes/order/OrderDetail.php [709] /classes/order/OrderDetail.php [745] /classes/order/OrderDetail.php [745] /classes/order/OrderDetail.php [745] /modules/ps_emailalerts/ps_emailalerts.php [280] /modules/ps_emailalerts/ps_emailalerts.php [281] /classes/PaymentModule.php [747] /classes/PaymentModule.php [748] /classes/controller/FrontController.php [1570] /classes/shop/Shop.php [465] -------------------------------------------- Carrier:17 /classes/Cart.php [2321] /classes/Cart.php [4573] /classes/Cart.php [3383] /classes/Cart.php [4573] /classes/Cart.php [2321] /classes/Cart.php [2321] /classes/Cart.php [2321] /classes/Cart.php [2576] /classes/Cart.php [4573] /classes/Cart.php [4573] /classes/Cart.php [2761] /classes/PaymentModule.php [308] /classes/order/OrderInvoice.php [634] /classes/order/OrderInvoice.php [634] /classes/order/OrderInvoice.php [634] /modules/ps_emailalerts/ps_emailalerts.php [283] /modules/ps_legalcompliance/ps_legalcompliance.php [733] ------------------------------------------------------------ State:15 /modules/ps_emailalerts/ps_emailalerts.php [345] /modules/ps_emailalerts/ps_emailalerts.php [348] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/PaymentModule.php [749] /classes/PaymentModule.php [750] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/controller/FrontController.php [1600] --------------------------------------------------------------------- Country: 15 /config/config.inc.php [146] /classes/controller/FrontController.php [452] /classes/Cart.php [2546] /classes/PaymentModule.php [300] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/AddressFormat.php [353] /classes/controller/FrontController.php [1601] ----------------------------------------------------- Shop:12 /config/config.inc.php [120] /classes/PaymentModule.php [213] /classes/stock/StockAvailable.php [715] /classes/stock/StockAvailable.php [715] /classes/stock/StockAvailable.php [715] /classes/stock/StockAvailable.php [715] /classes/stock/StockAvailable.php [715] /classes/stock/StockAvailable.php [715] /classes/Mail.php [142] /modules/myprestaloyalty/LoyaltyModule.php [73] /classes/Mail.php [142] /classes/Mail.php [142] I'm on Prestashop 1.7.2 and PHP 7.1. Another thing, it's the Shipping and Payment section are very slow to load in backoffice. What can cause this ?? Thank you
  22. Thanks for reply. I can use cron jobs. I was searching for a more elegant solution. Something like an automatic image/thumbs creation directly to subdomain destination when importing products and or modules install. I found another problem with URL rewrite (obviously it rewrite image names for main domain and not for cdn subdomain). Can it be solved with different .htaccess rules changes from main domain ? Thank you.
  23. Hi. I just enable the media server function and created my subdomain on Plesk (cdn1.mydomain.com) . Now the problem is to synchronize the "/img" folder with primary domain, with the cdn subdomain "/img" folder . If I import or add products to shop, images are stored in primary domain "/img" folder, and I have to manually copy files to cdn1.mydomain.com/img ... anyone facing this problem ? Thanks.
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More