johnkielon Posted September 1, 2015 Share Posted September 1, 2015 Cześć,to mój pierwszy temat na forum. Poszukuję pomocy przy małej modyfikacji strony produktu. Chciałbym dodać kod php w w miejsce wyświetlania się dostępności produktu. Kod oryginalny: <span id="availability_value"{if $product->quantity <= 0 && !$allow_oosp} class="warning_inline"{/if}>{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}</span> Docelowy kod: <span id="availability_value">TUTAJ KOD PHP</span> Dodatkowo, w moim kodzie php chciałbym aby jedną zmienną był kod ean produktu: include_once('simple_html_dom.php'); date("Y-m-d"); $rok = date("Y"); $mies = date("m"); $dzi = date("d"); $s = $rok + $mies + $dzi; $t = 'TUTAJ KOD EAN PRODUKTU, KTÓRY JEST POBIERANY Z BAZY DANYCH PRESTY'; $c = '&t='; $b = 'http://xxx/yyy.aspx?s='; $a = "$b$s$c$t"; $html = file_get_html("$a")->plaintext; if(strstr($html, "0,00")!==False) { echo "Wysyka w 7 dni";} else { echo "Wysyka w 24h!"; }; Kod działa, jednak jest to szczyt moich możliwości jeśli chodzi o php, dlatego poszukuję pomocy Wiem, że znaczniki {php}{/php} nie działają, a kod trzeba dodać w klasie / kontrolerze, jednak nie mam pojęcia jak to zrobić. Proszę o pomoc, mogę również zapłacić za rozwiązanie, meczę się nad tym parę dni a dla doświadczonego użytkownika jest to pewnie 15 min roboty Link to comment Share on other sites More sharing options...
design4VIP Posted September 1, 2015 Share Posted September 1, 2015 uwielbam, jak ktos zaczyna od slow "drobna modyfikacja" "drobny problem" czeg wynikiem jest juz dosc skomplikowane rozwiazanie no ale.... calosc php umieszczasz w kontrolerze - tutaj musialbys sie odniesc do kontrolera Product - czego nie polecam... zabwa w override, duza mozliwosc popelnienia bledu itp. ale o tym za chwile - dodajesz tylko wynik do zmiennych tablicy assign i ten wynik jako zmienna wyswietlasz na stronie prduktu przez {$zmienna}. jednak, i tutaj raczej prawidlowe dzialanie w takich wypadkach, w zamian za grzebanie sie w silniku, przy takich zabiegach radzilbym stworzenie nowego prostego modulu. implementacje nowego hook i tylko tego hook umiescic w wybranym miejscy product.tpl i zasadniczo tyle. Link to comment Share on other sites More sharing options...
johnkielon Posted September 1, 2015 Author Share Posted September 1, 2015 Dzięki za podpowiedź. Tak jak poleciłeś zrobiłem prosty moduł, a raczej zmodyfikowałem już zainstalowany (socialsharing - i tak nigdy nie będzie użyty). Mój główny kod w tym module ( zamiast EAN użyłem product reference ) include_once('simple_html_dom.php'); date("Y-m-d"); $rok = date("Y"); $mies = date("m"); $dzi = date("d"); $s = $rok + $mies + $dzi; $t = "$product->reference"; $c = '&t='; $b = 'http://xxx/yyy.aspx?s='; $a = "$b$s$c$t"; $www = file_get_html("$a")->plaintext; if(strstr($www, ":0,00")!==False) { $dost = "Wysyłka w 7 - 10 dni";} else { $dost = "Wysyłka w 24h!"; }; Kod działa bardzo dobrze ale tylko gdy produkt nie ma kombinacji. Jeżeli produkt ma kombinacje, nie jest pobierany reference danej kombinacji tylko główny produktu ( a gdy główny reference nie jest wypełniony to po prostu zmienna jest "pusta" ). Gdzie może leżeć problem? Link to comment Share on other sites More sharing options...
design4VIP Posted September 2, 2015 Share Posted September 2, 2015 najlepiej to uzyj sobie hooka z parametrem i reference odbieraj z $params wtedy bedzie dzzialac dla wymaganego czy to produktu czy to atrybutu. zawsze bedziesz mial zwracane to co przekazuje produkt na stornie. jezlei mialby byc pusty EAN to tutaj musisz wpisac zaleznosc, co modul ma w takiej wytuacji zrobic, czy przekazac pusta zmienna czy cos wysweitlic. PS. raczej radzilbym tworzyc nowe moduly, bo nigdy nie wiesz czy i jak ktorys nie jest scisle powiazany z silnikiem, jak np, w wypadku blocknewsletter czy komentarze produktu. Link to comment Share on other sites More sharing options...
Yabber Posted September 2, 2015 Share Posted September 2, 2015 Jeśli chodzi o ean13, to brak go w kontrolerze i klasie produktu. Myślałem, że w którejś nowej wersji presty zostanie to naprawione, ale dalej nic Jak ktoś zainteresowany, to mogę wrzucić tu na forum overridy klasy i kontrolera produktu naprawiające ten błąd. Link to comment Share on other sites More sharing options...
design4VIP Posted September 2, 2015 Share Posted September 2, 2015 (edited) Jeśli chodzi o ean13, to brak go w kontrolerze i klasie produktu. Myślałem, że w którejś nowej wersji presty zostanie to naprawione, ale dalej nic Jak ktoś zainteresowany, to mogę wrzucić tu na forum overridy klasy i kontrolera produktu naprawiające ten błąd. jak najbardziej jest. wlasnie sprawdzalem na 1.6.0.8 oraz 1.6.0.14 - $product->ean13 przyklad: http://prestas.4vip.pl/1608/tshirts/1-faded-short-sleeve-tshirts-01122211212.html Edited September 2, 2015 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
Yabber Posted September 2, 2015 Share Posted September 2, 2015 Eee, takie "bycie" to już dawno było. Chodzi mi o prawidłowe bycie Czyli dla każdej kombinacji atrybutów. Przykład: http://yabber.eu.org/presta/pl/dla-kobiet/1-wyblakla-koszulka-z-krotkim-rekawem.html Skoro jest ean13 w kombinacjach atrybutów, to czemu nie ma go w produkcie na FO? Link to comment Share on other sites More sharing options...
design4VIP Posted September 2, 2015 Share Posted September 2, 2015 a to jeszcze dla atrybutow nie sprawdzalem musze oblukac jeszcze, ale to pottrzebuje chwile. teraz nie mam czasu. ale w kontrolerze i klasie produktu jest glowny, ale jest 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