syngress Posted August 23, 2013 Share Posted August 23, 2013 W pliku header.tpl znajdziemy kod: <div id="header_right" class="grid_9 omega"> {$HOOK_TOP} </div> wyświetla on ładne menu: Do czego konkretnie odnosi się {$HOOK_TOP} - chciałem wyciągnąć każdy element z osobna, i włożyć w różne miejsca mojej obecnej strony. Z góry dziękuje za info. Link to comment Share on other sites More sharing options...
vekia Posted August 23, 2013 Share Posted August 23, 2013 hook_top jest jak nazwa wskazuje hookiem, czyli "lokalizacją" pod którą możemy "podpiąć" modułu. To co widzisz w hook_top to moduły. listę modułów podpiętych do tego hooka odnajdziesz w moduły > pozycje odnajdujesz na liście listę modułów "displayTop" - zawartość listy odpowiada temu, co widzisz na swojej stronie w miejscu {$HOOK_TOP} Link to comment Share on other sites More sharing options...
syngress Posted August 23, 2013 Author Share Posted August 23, 2013 (edited) To będzie to ? Wybacz proste pytania, muszę się odnaleźć w sposobie implementacji Prest'y .. W takim razie do jakich plików odnosi się każda z pozycji, lub gdzie tych plików szukać ? Edited August 23, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 23, 2013 Share Posted August 23, 2013 zgadza się, to jest to jest ta lista. Każdy z modułów ma w swoim kodzie php funkcję która obsługuję tę lokalizację, wygląda ona mniejwięcej tak: public function hookTop($params){ if ($this->_prepareHook($params)) return $this->display(__FILE__, 'blockcurrencies.tpl'); } gdzie blockcurrencies.tpl to nazwa pliku szablonu, który odpowiada za wyświetlanie się treści. Każdy moduł ma swój plik szablonu (.tpl) który odpowiada za wyświetlanie się treści html. W tym przypadku plik nazywa się blockcurrencies.tpl, dla innych modułow nazwa może być inna, stąd ważne jest podglądnięcie treści pliku .php w celu zlokalizowania odpowiedniego pliku szablonu. pliki szablonu zwykle znajdują się w katalogu z modułem. zawartość pliku blockcurrencies.tpl to: <!-- Block currencies module --> <script type="text/javascript"> $(document).ready(function () { $("#setCurrency").mouseover(function(){ $(this).addClass("countries_hover"); $(".currencies_ul").addClass("currencies_ul_hover"); }); $("#setCurrency").mouseout(function(){ $(this).removeClass("countries_hover"); $(".currencies_ul").removeClass("currencies_ul_hover"); });$('ul#first-currencies li:not(.selected)').css('opacity', 0.3); $('ul#first-currencies li:not(.selected)').hover(function(){ $(this).css('opacity', 1); }, function(){ $(this).css('opacity', 0.3); }); }); </script> <div id="currencies_block_top"> <form id="setCurrency" action="{$request_uri}" method="post"> <p> <input type="hidden" name="id_currency" id="id_currency" value=""/> <input type="hidden" name="SubmitCurrency" value="" /> {l s='Currency' mod='blockcurrencies'} : {$blockcurrencies_sign} </p> <ul id="first-currencies" class="currencies_ul"> {foreach from=$currencies key=k item=f_currency} <li {if $cookie->id_currency == $f_currency.id_currency}class="selected"{/if}> <a href="javascript:setCurrency({$f_currency.id_currency});" title="{$f_currency.name}" rel="nofollow">{$f_currency.sign}</a> </li> {/foreach} </ul> </form> </div> <!-- /Block currencies module --> jest to szablon "smarty" (składnia smarty + język html) i to jest to co widzisz w HOOK_TOP w przypadku modułu blok walut Link to comment Share on other sites More sharing options...
syngress Posted August 24, 2013 Author Share Posted August 24, 2013 (edited) A jeśli znajdę już interesujący mnie moduł, jestem w stanie szybko wyszukać jego kod ? Np: Mamy kod: <div id="header_right" class="grid_9 omega"> {$HOOK_TOP} </div> HOOK_TOP ma obecnie powiązanych 9 modułów. Teraz gdzie mogę znaleźć kod, który jest odpowiedzialny za wyświetlanie poszczególnych modułów ? Jeśli będę chciał sobie stworzyć stronę "szukaj.html" i wkleić do niej wyłącznie kod odpowiedzialny za blok prostego wyszukiwania, mam szukać kodu (w tym przypadku) w katalogu ..modules\blocksearch\blocksearch-top.tpl ?? Edited August 24, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 24, 2013 Share Posted August 24, 2013 no to wtedy otwierasz katalog z modułem, otwierasz główny plik .php sprawdzasz jaki plik .tpl odpowiada za wyświetlanie się w danej pozycji (patrz przykład powyżej) i to w zasadzie tyle Link to comment Share on other sites More sharing options...
syngress Posted August 24, 2013 Author Share Posted August 24, 2013 Bardzo ci dziękuje. Potężne narzędzie i bardzo elastyczne. Dobrze byłoby dodać możliwość podglądu w jakim katalogu znajduje się moduł. W chwili obecnej na ślepo strzelam, że Blok prostego wyszukiwania znajduje się w \modules\blocksearch Istnieje jakiś podgląd ? Link to comment Share on other sites More sharing options...
vekia Posted August 24, 2013 Share Posted August 24, 2013 zgadzam się, czasami trudno jest zlokalizować moduł. Mam na to radę, zwykle klikam w ikonę modułu i sprawdzam url do tej ikony - zdradza ona lokalizację modułu: Link to comment Share on other sites More sharing options...
syngress Posted August 24, 2013 Author Share Posted August 24, 2013 (edited) O widzisz, wykorzystam radę .. Jak mogę wsadzić moduł "blockcart" na zupełnie osobną stronę, bo rozumiem, że tak po prostu nie mogę kopiować zawartości plików szablonów.. Przynajmniej nie wszystkich. Chodzi mi oczywiście o widok koszyka z HOOK_TOP: Po przekopiowaniu całej zawartości szablonu, widok działa, funkcjonalności brak, pewnie urwałem dowiązania do skryptów, język również się zmienił na defaultowy. Edited August 24, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 24, 2013 Share Posted August 24, 2013 to co widzisz, tzn. to: jest to moduł block user info natomiast to co widać po najechaniu na to, to moduł block cart. niestety nie ma opcji, aby bez większych modyfikacji używać dwóch koszyków jednoczesnie (tj. jeden w nagłówku który pojawia się pojechaniu na block uer info, drugi ten który wkleiłeś) sypią się skrypty js które bazują na polach w oparciu o ich numer ID=""; dlatego musiałbyś usunąć cart block z sekcji displayTop tak aby kodzie strony występował tylko jeden koszyk mam nadzieje, że opisane w miare jasno Link to comment Share on other sites More sharing options...
syngress Posted August 24, 2013 Author Share Posted August 24, 2013 (edited) W tym momencie w "Top of pages" posiadam: Natomiast to co widać poniżej to: to: - Block user information module - MODULE Block cart - Block permanent links module Po najechaniu na odnośnik koszyka, próbuje mnie przekierować na stronę bez ID http://mojastrona/sklep/index.php?controller= Oczywiście otrzymuje komunikat, że takiej strony niema. Tak więc jest coś jeszcze, przez co nie mogę otrzymać ID .. Edited August 24, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
syngress Posted August 25, 2013 Author Share Posted August 25, 2013 (edited) Zapytam jeszcze, witaj | zaloguj jest częścią czego ? Edited August 25, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 25, 2013 Share Posted August 25, 2013 moduł block user info Link to comment Share on other sites More sharing options...
syngress Posted August 25, 2013 Author Share Posted August 25, 2013 (edited) Czy (dostawa, razem) i żółty przycisk realizuj zamówienie również do niego należą ? Edited August 25, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 25, 2013 Share Posted August 25, 2013 to akurat jest część modułu block cart Link to comment Share on other sites More sharing options...
syngress Posted August 25, 2013 Author Share Posted August 25, 2013 Ooo widzisz, dziękuje - mam straszny problem, żeby wypozycjonować ten element (witaj | zaloguj) .. Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 ja się zastanawiam, jak to możliwe, że hook_top znalazł się w tym miejscu strony Chyba musiało dojsc do niezlej modyfikacji template Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 Jakiejś wielkiej modyfikacji jeszcze niema, dopiero zaczynam modyfikować. Pierwszy raz zainstalowałem Preste, trochę się gubię. Może mi pomożesz z tym elementem: Jak widać powyżej treść <div'a> wyjeżdża poza obrazowanie innego <div'a>. Już chyba wszystkiego próbowałem, w tym clear: both; W dalszym ciągu mam rozjazd. Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 może i nie jest to duża modyfikacja, ale element tj. hook_top jak sama nazwa wskazuje, będący elementem umieszczonym w sekcji TOP strony znalazł się w miejscu z treścią co do przypadku powyżej, wyglada mi to na zwykly prosty problem z cssami, trudno powiedzieć co jest nie tak z uwagi na modyfikacje, ale obstawiałbym na dodanie clear:both; i overflow:hidden; dla całego bloku featured-products_block_center 1 Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 (edited) A gdzie konkretnie mam to wstawić ? P.S Obramowanie to zwykły <div> z border, bez żadnych dodatkowych atrybutów. Edited August 26, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 nie ma jakiegoś ścisłego miejsca, wszystko zależy od Ciebie ten hook zwykle służy do wyświetlania elementów w "headerze" sklepu, tam na samej górze to, że umieściłeś go w innym miejscu wcale nie oznacza, że jest to złe rozwiązanie, jest ono po prostu nieco egzotyczne Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 (edited) Udało się, dzięki.. Edited August 26, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 (edited) Hook_Home wyświetla slider oraz homefeatured -> który plik jest odpowiedzialny za połączenie tych 2 elementów ? Okazał się, że po zabiegu zaczął się wyświetlać slider :-/ Edited August 26, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 nie bardzo rozumiem, hook_home jest zdefiniowan w pliku index.tpl ale jest tam tylko łyse {$HOOK_HOME} Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 No własnie $HOOK_HOME mi chodziło, gdzie to prowadzi ? Do jakiego pliku ? $HOOK_HOME łączy slider z home featured ? Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 hook_home to "pozycja" jak każda inna, wyświetlają się tam moduły załączone do tego hooka. Jest to strona główna sklepu, a w zasadzie jej zawartość pomiędzy dwoma kolumnami. dotyczy do tylko strony glownej Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 (edited) Ok, może inaczej, do jakiego kodu odnosi się $hook_home ? Slidera pozbyłem się, modyfikując nieznacznie plik: homeslider.tpl {if isset($homeslider)} <script type="text/javascript"> {if isset($homeslider_slides) && $homeslider_slides|@count > 1} {if $homeslider.loop == 1} {else} {/if} {else} {/if} </script> {/if} {if isset($homeslider_slides)} {foreach from=$homeslider_slides item=slide} {if $slide.active} {/if} {/foreach} {/if} Skrypt się wykonuje, ale jest pusty Efekt ? Edited August 26, 2013 by syngress (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 nie rozumiem pytania jak wspomniałem hook_home to "pozycja" jak każda inna, wyświetlają się tam moduły załączone do tego hooka. Kod hook_home zalezy od modułów wyświetlanych w tym hooku. jezeli pytasz o cos innego, wyjasnij prosze Link to comment Share on other sites More sharing options...
syngress Posted August 26, 2013 Author Share Posted August 26, 2013 Jaki kod odpowiedzialny jest za wyświetlenie zawartości $HOOK_HOME ? Link to comment Share on other sites More sharing options...
vekia Posted August 26, 2013 Share Posted August 26, 2013 no to już jest funkcja php odpowiedzialna za wyświetlanie zawartości hooków, classes/Hook.php funkcja exec() Link to comment Share on other sites More sharing options...
syngress Posted August 28, 2013 Author Share Posted August 28, 2013 Ok wracając jeszcze do produktów polecanych. Pomimo tego, że border jest solid, prawe obramowanie zanika. Odpowiedzialnym za ten proceder jest: overflow: hidden; Niestety nie mogę wykasować reguły, ponieważ otrzymuje 3 woje światową w postaci: Co mogę dodać, co usunąć ? Link to comment Share on other sites More sharing options...
vekia Posted August 28, 2013 Share Posted August 28, 2013 overflow:hidden; ukrywa tą całą wojnę światową, ten parametr musi być dodany. problem jest w szerokości obrazów, muszą być weższe gdyż po prostu nie ma na nie miejsca i je ukrywa Link to comment Share on other sites More sharing options...
syngress Posted August 28, 2013 Author Share Posted August 28, 2013 @vekia tam jest sporo miejsca jeszcze, zmieniam spokojnie wartości w homefeatured.css margines prawy oraz długość elementu, wszystko się ładnie rozsuwa,natomiast w dalszym ciągu nie widać tego obramowania #featured-products_block_center li { margin-right: 10px; padding: 0px; width:130px; } Link to comment Share on other sites More sharing options...
vekia Posted August 28, 2013 Share Posted August 28, 2013 no wlasnie skoro ucina, tzn. ze nie ma tam miejsca Link to comment Share on other sites More sharing options...
syngress Posted August 28, 2013 Author Share Posted August 28, 2013 Ok udało się ! Faktycznie, musiałem długość elementu jeszcze o kilka px zwiększyć ,... Link to comment Share on other sites More sharing options...
vekia Posted August 28, 2013 Share Posted August 28, 2013 zobacz: jak widać, miejsca tam nie ma Link to comment Share on other sites More sharing options...
Recommended Posts