Dodajemy dodatkową kolumnę z ceną ostateczną obok ceny netto https://www.prestashop.com/forums/topic/888500-prestashop-1742-ceny-netto-brutto/
Works with: Prestashop 1.7.0-4 (tested up to 1.7.5.5) – W wersji 1.7.5 ta pozycja jest już wdrożona przez autorów PrestaShop. Jeśli więc zrobisz aktualizację to nie musisz robić ego ręcznie. Nie mniej jednak dobrze wiedzieć jak takie rzeczy zrobić samemu. Może się przydać przy innej okazji.
Navigate to: yousite/src/PrestaShopBundle/Resources/views/Admin/Product/CatalogPage/Lists/products_table.html.twig Find:
PrestaShop 1.7 – I bez pluginu się da jak ktoś troszkę techniczny – w zaawansowanych klikamy w bazę danych > dodajemy zapytanie SQL > Piszemy kod SQL
SELECT p.id_product, p.active, pl.name, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as categories, p.price, p.id_tax_rules_group, p.wholesale_price, p.reference, p.supplier_reference, p.id_supplier, p.id_manufacturer, p.upc, p.ecotax, p.weight, p.quantity, pl.description_short, pl.description, pl.meta_title, pl.meta_keywords, pl.meta_description, pl.link_rewrite, pl.available_now, pl.available_later, p.available_for_order, p.date_add, p.show_price, p.online_only, p.condition, p.id_shop_default FROM ps_product p LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps_category c ON (cp.id_category = c.id_category) LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product) WHERE pl.id_lang = 1 AND cl.id_lang = 1 AND p.id_shop_default = 1 AND c.id_shop_default = 1 GROUP BY p.id_product
Zapisujemy (lub dowolnie modyfikujemy). Jeśli przy tworzeniu sklepu dodaliśmy przedrostek do bazy to musimy go teraz dodać przed nazwą każdej tabeli.. np „v2_” lub coś innego. Naciskamy chmurkę i pobiera się nam CSV.. do otwierania używamy najlepiej Open Office (bo ten pozwala nam skonfigurować odczyt pliku CSV właśnie) lub Google Docs. Mam nadzieje, że tym trochę technicznym pomogłem.
Zapytanie pisane pod 1.7 i nie testowałem pod 1.6 ale może działa … kto wie
Woocoomerce pozwala na import i export plików CSV. Z jakiegoś niezrozumiałego powodu zamiast przy eksporcie nie ma możliwości zmiany znaku oddzielającego kolumny. DOmyślny podzielnik to przecinek co niestety sprawia problemy przy wczytywaniu pliku takich programach jak excel. Dlaczego tak się dzieje? Kolumny są wydzielna nieprawidłowo, ponieważ przecinki w opisach są również interpretowane jak przejście do nowej kolumny pomimo, tego, że są one umieszczone wewnątrz cudzysłowiu, który powinien być interpretowny jako tekst.
Rozwiązanie
Problem został zgłoszony na GitHub już jakiś czas temu. W efekcie powstał filter, który pozwala na zmodyfikowanie znaku oddzielającego kolumny:
<?php
add_filter( 'woocommerce_product_export_delimiter', function ( $delimiter ) {
// set your custom delimiter
$delimiter = ';';
return $delimiter;
});
Powyższy kod należy dodać do pliku functions.php w child theme. Następnie proponujmy używać OpenOffice do edycji wyeksportowanych pól. Przy imporcie możemy już wybrać w jaki sposób chcemy oddzielić kolumny więc podajemy średnik i wszystko pięknie się importuje! 🙂
PRZYDATNE: Okazuje się, że problem importowani pliku nie występuje w Google Docs. Więc jeśli nie chcesz na siłę zmieniać delimitera to możesz skorzystać z rozwiązań jakie daje nam Google.
Jeśli twoja stronie nie pokazuje filtrów po tym jak wyedytowałeś ją z jakimkolwiek theme builderem to dlatego, że to normalne. Zwyczajnie te dwa byty nie są ze sobą integrowalne. Spokojnie istnieje proste i darmowe rozwiązanie twoich problemów. Wystarczy, że zainstalujesz darmowy plugin WooCommerce Product Filter i twoje filtry będą wyglądały lepiej niż wcześniej.
Więcej informacji możesz zaczerpnąć tutaj: https://www.elegantthemes.com/blog/divi-resources/how-to-create-filtered-sidebars-for-your-divi-woocommerce-pages
Zwracając uwagę na oceny pluginu mogli byśmy założyć, że jest z nim coś nie tak. Jedyny problem jaki my znaleźliśmy to, to, że nie jest idioto odporny, co również zgłosiliśmy producentowi. Złe oceny i komentarze o niedziałającym produkcie to właśnie efekt nie dostosowania pluginu dla tych co instalują i oczekują działania od ręki bez jakiekolwiek konfiguracji.
Polecamy również doinstalowanie pluginu color swatch
Oraz dodatkowo galerię zdjęć dla wariacji produktowych
Wbrew pozorom ta niewinna funkcjonalność nie jest tak zwyczajnie dostępna w instalacji naszego kochanego sklepu. Jak możemy poczytać nie jedna osoba miała z tym problem. Można jednak dojść do wniosku, że jest to wykonalne. Trzeba pobrać moduł i za jego pomocą dodać tak banalną funkcjonalność. Poczytajmy na forum jak wygląda batalia o dodanie tej funkcjonalności trwająca od 2017 roku.
No i właśnie tak wygląda praca przy PrestaShop 🙂 Wiecznie coś trzeba kombinować. Chociaż naszym skromnym zdaniem tak banalne funkcjonalności powinny być dostępne po podstawowej instalacji bez konieczności jakichkolwiek modernizacji systemu.
Tymczasem musimy pobrać wtyczkę z github, zainstalować i odpowiednio skonfigurować
Jeśli jesteś developerem to sam możesz dopisać sobie taką funkcjonalność korzystając z wbudowanej funkcji email w PrestaShop (jeśli nim jesteś to już o tym wiesz i ten wpis jest ci mało pomocny).
Jeśli ze względów estetycznych zdecydowaliśmy się usunąć zamówienia demo z naszej bazy to musimy również usunąć inne dane które są przypisane do tych zamówień. Jeśli tego nie zrobisz to twoje pierwsze zamówienia będą zawierać nieoczekiwane niespodzianki.
Może to być dość dziwne ale instalacja PrestaShop dodaje do naszego systemu dane demo, które mogą nam sprawić potem sporo problemów. Jakich? O tym przekonamy się za chwilę. Ważne jest aby po czystej instalacji sklepu takie dane usunąć w pełni a nie tylko częściowo. Można to zrobić ręcznie grzebiąc w bazie danych lub przy pomocy darmowego pluginu:
Okazuję się, że w system PrestaShop trzeba włożyć dużo pracy, żeby działał dokładnie tak jak powinien i z pewnością nie jest to rozwiązanie dla osób szukających idealnych rozwiązań.
Ps. Czasami nie chcemy, aby nasz sklep wystawiał FV za nas. Aby wyłączyć automatyczne wystanie dokumentów księgowych należy przejść do zakładki zamówienia potem faktury i tam na dole wyłączyć taką opcję. Problem jednak nie znika bo pozycje dalej występują w zamówieniu wysłanym do klienta.
Co się stanie jeśli nie usuniecie demo data ?
Tak właśnie może zaskoczyć ciebie i twojego klienta system PrestaShop. W kwestii wyjaśnienia – dwa pierwsze produkty nie były zamówione a mimo wszystko zostały dodane do zamówienia. Zwróćmy tez uwagę, że zostały poniekąd dodane ale tak naprawdę nie stały podliczone… PrestaShop potrafi zaskakiwać.
Jak usunąć demo data ręcznie?
Po primo ultimo … robimy całościowy backup naszej strony z naciskiem na backup naszej bazy danych. Dopiero potem możemy przystąpić do jakichkolwiek prac na stronie / bazie.
Wyksportuj bazę wyedytuj dane – odzukaj
INSERT INTO v1_ps_order_detail
Albo możesz też otworzyć bazę np w Sublime Text i wyszukać zakładając że mamy włączoną opcja wyrażeń regularnych
demo_[1-9]
Potem zaznaczamy całe rekordy i usuwamy.
Musimy teraz zaimportować wyedytowaną bazę na nasz serwer. Jeśli przy exporcie nie zaznaczyliśmy dodaj DROP / CREAT statement to będziemy musieli najpierw usunąć tabele z naszej bazy a potem zaimportować plik w przeciwnym razie baza MySQL pokaże nam błąd że taka czy inna tabel już istnieje a my staramy się ją zduplikować.
Jak uniknąć problemu?
Podczas instalacji PrestaShop możemy nie wybierać tworzenia produktów i danych demo. Jeśli więc będziesz instalował PrestaShop po raz kolejny zwyczajnie nie importuj tych danych a oszczędzisz sobie sporo problemów przy ich usuwaniu.