Aktywowanie Lewej Kolumny dla modułu Wishlist – Prestashop 1.5
Jest to pewna głupota twórców presty, ale po wejściu w link "My wishlists" nie pojawia nam się lewa kolumna i uwaga , jedynie lewa kolumna!
Po zmarnowaniu 20 minut życia, modyfikacji dokonuję się wchodząć w :
modules->blockwishlist ->controllers->front->mywishlist.php
otóż tutaj (okolice 45 linii):
public function initContent()
{
$this->display_column_left = false;//dlaczego...
Dodawanie HOOK-a w nowy sposób – Prestashop 1.5
Przedstawiam ciekawy sposób na dodanie uchwytu(pozycji) dla Prestashop 1.5 znalezione na: http://nemops.com/adding-hooks-to-prestashop-1-5/
No to zaczynamy:
Otwieramy plik .tpl na przykład footer.tpl , dodajemy kod:
{hook h='beforeFooter'}
po h podajemy nazwę własnej pozycji , następnie szukamy pliku php naszego modułu w moim przypadku fmeblockmanufacturer.php, dodajemy kod:
public function hookBeforeFooter($params)
{
...
Wyświetlenie ilości produktów danego producenta w lewej kolumnie – Prestashop 1.5
Aby dodać ilość produktów danego producenta postępujemy następująco: Modyfikujemy blokmanufacturer.php w okolicach 58 linii dodajemy do :
'manufacturers' => Manufacturer::getManufacturers()
do argumenty dodajemy true, po modyfikacji:
'manufacturers' => Manufacturer::getManufacturers(true)
następnie w blokmanufacturer.tpl aby wyświetlić liczbę produktów wystarczy dodać:
{$manufacturer.nb_products}
Automatyczne dopasowywanie rozmiaru czcionki do menu za pomocą jQuery
Skrypt rekurencyjny umożliwiający dopasowanie rozmiaru elementów li a w liście(w moim przykładzie menu)
$.fn.changeFont = function(useMargins,size) {
var sum = 0;
$(this).children("a").css("font-size",size+"px");
this.each(function() {
sum += $(this).outerWidth(useMargins);
});
//tu zamiast 950 podajemy żądaną szerokość
if(sum>950) $(this).changeFont(true,size-1);
return sum;
};
Do wywołania funkcji...
Dodanie aktywnej klasy dla otwartego linku z poziomu smarty w Prestashop
Na pewno jest na to kilka sposobów , ale mi udało się stworzyć coś takiego:
{assign var='new_var' value="http://"|cat:$smarty.server.HTTP_HOST|cat:$smarty.server.REQUEST_URI}
deklaruje zmienną w smarty , która będzie posiadać aktualny link teraz wystarczy porównać ten link z linkiem w menu:
{if $new_var==$cms_page.link}class="active"{/if}
dla wszystkich stron CMS z prestashop w pliku blockcms.tpl...
Identyfikacja uruchomionego przycisku dla zdarzenia submit w jQuery
Aby odebrać zdarzenie wysłania formularza za pomocą jQuery należy użyć metody submit() , jednak czasami zdarza się , że mamy kilka inputów i musimy zidentyfikować za pomocą którego zostało wywołane zdarzenie. Nie znajdziemy takiej informacji w $(this), musimy użyć następującego kodu:
$(selektor).submit(function(event) {
var button=event.originalEvent.explicitOriginalTarget;
alert($(button).attr('title'));
});
Dzięki event.originalEvent.explicitOriginalTarget pobieramy...
Zamiana wartości w polu bazy danych dla wzorca – MySQL
Aby zaktualizować wiele rekordów w bazie MySQL dla podanego wzorca można użyć poniższego polecenia:
UPDATE `nazwa_tabeli`
SET `opis` = REPLACE(opis, 'z_czego zamienić', 'na co zamienić')
WHERE `opis` LIKE '%wzorzec%';
% w poleceniu LIKE zastępują dowolną ilość znaków przed i po wzorcem, przykładowy kod do modyfikowania pola description...
Wyświetlenie wszystkich produktów w prestashop 1.4
Jest to zmodyfikowany kod do wyświetlenia wszystkich produktów w danej kategorii oraz jej podkategoriach.
W pliku controllers/CategoryController.php
należy odnalezc i zmodyfikować:
public function process()
{
....
}
...
Dodanie strony CMS do strony formularza kontaktowego w prestashop
W katalogu controllers/ContactController.php po
self::$smarty->assign(array(
'errors' => $this->errors,
'email' => $email,
'fileupload' => Configuration::get('PS_CUSTOMER_SERVICE_FILE_UPLOAD')
));
Należy dodać kod:
// custom code
global $cookie;
...
Witaj
Cześć - nazywam się Rafał Stępień. Od ponad 10 lat pasjonuje się światem IT i chciałbym za pomocą tej strony przekazać Ci moją wiedzę oraz zebrane doświadczenia. Dodatkowo, będę zamieszczać tutaj informacje o wydarzeniach, które realizuje, projektach w których biorę udział oraz problemach z jakimi się natknąłem podczas mojej wędrówki.
Jestem otwarty na feedback i pytania osób, których zainteresuje zawartość tej strony. Możesz skontaktować się ze mną bezpośrednio na maila kontakt@rafalstepien.com lub za pomocą kanałów social media.