world4players Posted December 3, 2020 Share Posted December 3, 2020 Witajcie, czy da się zmodyfikować jakoś kod by móc dodawać więcej niż 1 markę do jednego produktu? 1 Link to comment Share on other sites More sharing options...
0 WartoWiedziec Posted December 3, 2020 Share Posted December 3, 2020 Podbijam, też jestem tym tematem zainteresowany. Link to comment Share on other sites More sharing options...
0 world4players Posted December 4, 2020 Author Share Posted December 4, 2020 czy coś da się zrobić? Link to comment Share on other sites More sharing options...
0 rrataj Posted December 4, 2020 Share Posted December 4, 2020 Normalnie nie da się tego zrobić, relacja w bazie danych jest 1:N, czyli wiele produktów można przypisać do jednej marki, ale nie można przypisać wielu marek do jednego produktu. Żeby to osiągnąć trzeba by dodać nową tabelę do bazy danych przetrzymującą relacje N:N oraz kompletnie przerobić logikę presty w wielu miejscach. Po co dokładnie jest Ci to potrzebne? Żeby wyświetlić taką informację na stronie produktu czy może do filtrowania produktów itp. ? Link to comment Share on other sites More sharing options...
0 world4players Posted December 4, 2020 Author Share Posted December 4, 2020 @rrataj By wyświetlać tylko informację. Jedna marka to ma być odnośnik do producenta - jako taki partner (ten odnośnik ogarnąłem jak zrobić) a druga marka jako marka która działa jak to presta przewidziała oryginalnie. Czyli np: Partner Steam - to jest jedna marka która prowadzi do strony steam Steam - tutaj logo i odnośnik w sklepie do produktów które posiadają taką samą markę ( oryginalnie ) Link to comment Share on other sites More sharing options...
0 rrataj Posted December 5, 2020 Share Posted December 5, 2020 A może po prostu wykorzystać opcję "Dostawcy" do tego? Dodać nowego dostawcę, w opisie wrzucić adres strony partnera, przypisać tego dostawcę do produktu (zakładaka Opcje na stronie edycji produktu) a w szablonie wyświetlić logo jako link do strony partnera pobranej z opisu dostawcy. Link to comment Share on other sites More sharing options...
0 world4players Posted December 5, 2020 Author Share Posted December 5, 2020 @rrataj hmm a to trzeba modyfikować kod? Bo w sumie w dostawcach wtedy nie chciałbym mieć jakiś obowiązkowych pól z adresem itp Link to comment Share on other sites More sharing options...
0 rrataj Posted December 5, 2020 Share Posted December 5, 2020 Tak, trzeba by było zmodyfikować szablon produktu na pewno + klasę Dostawców i walidację, jeżeli chcesz usunąć obowiązkowe pola. Link to comment Share on other sites More sharing options...
0 world4players Posted December 7, 2020 Author Share Posted December 7, 2020 @rrataj a zdradziłbyś co i jak mam zmodyfikować? Link to comment Share on other sites More sharing options...
0 rrataj Posted December 8, 2020 Share Posted December 8, 2020 Na początek: dodaj nowego dostawcę, w polu opisu wrzuć URL, i przypisz tego dostawcę jako domyślnego do produktu. Następnie zmodyfikuj /controllers/front/ProductController.php i w linii ~1099 (metoda getTemplateVarProduct()) dodaj: $product_full['supplier'] = new Supplier( $this->product->id_supplier ); Potem w szablonie (np. w pliku /themes/your_theme/templates/catalog/_partials/product_details.tpl) możesz użyć zmiennej $product.supplier, np. tak: {if $product.supplier->id} <a href="{$product.supplier->description[1]}">{$product.supplier->name}</a> {/if} To wyświetli Ci link do strony którą wpisałeś. Mam nadzieję że to Cię nakieruje na finalne rozwiązanie Wydaje mi się że nie trzeba zmieniać walidacji i ustawiać pół dostawcy jako nieobowiązkowych. Możesz tam wpisać cokolwiek i będzie ok. Link to comment Share on other sites More sharing options...
Question
world4players
Witajcie, czy da się zmodyfikować jakoś kod by móc dodawać więcej niż 1 markę do jednego produktu?
Link to comment
Share on other sites
9 answers to this question
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