Skocz do zawartości
cloudsky

losowe produkty na stronie głównej

Rekomendowane odpowiedzi

Jasne że można :) na końcu w homefeatured/homfeatured.php podmień funkcje:

 

<span class="syntaxdefault"></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">hookHome</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$params</span><span class="syntaxkeyword">)    {        global </span><span class="syntaxdefault">$smarty</span><span class="syntaxkeyword">;        </span><span class="syntaxdefault">$category </span><span class="syntaxkeyword">= new </span><span class="syntaxdefault">Category</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">);        </span><span class="syntaxdefault">$random </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Configuration</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">get</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'HOME_FEATURED_NBR'</span><span class="syntaxkeyword">));                </span><span class="syntaxdefault">$products </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$category</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getProducts</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$params</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'cookie'</span><span class="syntaxkeyword">]-></span><span class="syntaxdefault">id_lang</span><span class="syntaxkeyword">), </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">99</span><span class="syntaxkeyword">);        </span><span class="syntaxdefault">$klucze_losowe </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">array_rand</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$products</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$random</span><span class="syntaxkeyword">);                </span><span class="syntaxdefault">$products1 </span><span class="syntaxkeyword">= array();                foreach(</span><span class="syntaxdefault">$products </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$k </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">$r</span><span class="syntaxkeyword">)        {            if(</span><span class="syntaxdefault">in_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$k</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$klucze_losowe</span><span class="syntaxkeyword">))                </span><span class="syntaxdefault">$products1</span><span class="syntaxkeyword">[] = </span><span class="syntaxdefault">$r</span><span class="syntaxkeyword">;        }                </span><span class="syntaxdefault">$smarty</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">assign</span><span class="syntaxkeyword">(array(</span><span class="syntaxstring">'products' </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">$products1</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'homeSize' </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">Image</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">getSize</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'home'</span><span class="syntaxkeyword">)));        return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">display</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">__FILE__</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'homefeatured.tpl'</span><span class="syntaxkeyword">);    } </span><span class="syntaxdefault"></span>

Jest to prowizoryczne rozwiązanie, nie wiem czemu ale funkcja random u mnie nie chciała działać :(

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No mi coś nie działa znika wszystko oprócz lewego paska reszta jest cała białą mam wersje presta 1.4

to chyba musiałeś coś gdzieś źle wkleić, bo ten sam kod działa idealnie na 1.3 jak i na ojej 1.4.6.2

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jasne że można :) na końcu w homefeatured/homfeatured.php podmień funkcje:

 

<span class="syntaxdefault">function hookHome</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$params</span><span class="syntaxkeyword">)
</span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{
</span><span class="syntaxdefault">        global $smarty</span><span class="syntaxkeyword">;

</span><span class="syntaxdefault">        $category </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> new Category</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">);
</span><span class="syntaxdefault">        $random </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Configuration</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">get</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'HOME_FEATURED_NBR'</span><span class="syntaxkeyword">));
</span><span class="syntaxdefault">        
        $products </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $category</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getProducts</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$params</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'cookie'</span><span class="syntaxkeyword">]-></span><span class="syntaxdefault">id_lang</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 99</span><span class="syntaxkeyword">);
</span><span class="syntaxdefault">        $klucze_losowe </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array_rand</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$products</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $random</span><span class="syntaxkeyword">);
</span><span class="syntaxdefault">        
        $products1 </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">();
</span><span class="syntaxdefault">        
        foreach</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$products as $k </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $r</span><span class="syntaxkeyword">)
</span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{
</span><span class="syntaxdefault">            if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">in_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$k</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $klucze_losowe</span><span class="syntaxkeyword">))
</span><span class="syntaxdefault">                $products1</span><span class="syntaxkeyword">[]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $r</span><span class="syntaxkeyword">;
</span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}
</span><span class="syntaxdefault">        
        $smarty</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">assign</span><span class="syntaxkeyword">(array(</span><span class="syntaxstring">'products'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $products1</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'homeSize'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> Image</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">getSize</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'home'</span><span class="syntaxkeyword">)));

</span><span class="syntaxdefault">        return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">display</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">__FILE__</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'homefeatured.tpl'</span><span class="syntaxkeyword">);
</span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span>

Jest to prowizoryczne rozwiązanie, nie wiem czemu ale funkcja random u mnie nie chciała działać :(

Witam

 

Zrobiłam tak, jak jest opisane, włączyłam kompilację, wyczyściłam compile i nic, zero efektu.

Ból jest jeszcze taki, że nie mogę nawet zmienić ilości polecanych produktów na stronie.

W modułach na liście modułów nie widzę go w ogóle! więc nie mogę w żaden sposób go skonfigurować (modyfikować).

Polecane produkty na stronie głównej v0.9 ? widzę go tylko w rozmieszczeniu modułów, a na liście go nie ma.

 

Jak w tej chwili wyłączam najczęściej kupowane, na stronie zostają mi tylko 4 i reszta pusta. Najczęściej kupowane też stoją w miejscu, wczoraj była sprzedaż, a produktu nie pokazuje.

Docelowo chcę wyłączyć na głównej te najczęściej kupowane i zostawić tylko polecane - 12 ale żeby losowo były wyświetlane.

Czy ktoś wie o co chodzi? Dlaczego wprowadzane zmiany nie działają pomimo zalecanych czynności i dlaczego nie widzę modułu polecane produkty na liście?

Z góry dziękuję za pomoc.

Pozdrawiam.

 

Justyna

 

P.S. Presta Shop 1.4.4.1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam

 

Bardzo dziękuję. Ta zmiana rzeczywiście spowodowała, że produkty zaczęły wyświetlać się losowo, ale dopiero za trzecim razem, mimo wymuszania kompilacji i czyszczenia. Ale udało się.

w homefearured.php

zamiast:

$products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10));

 

wpisujemy:

$products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10), NULL, NULL, false, true, true, ($nb ? $nb : 10));

 

Nadal miałam jednak tylko 4 produkty (jeden rząd).

Żeby zmienić ilość wyświetlanych produktów zainstalowałam po prostu nowy moduł Homefeatured v0.91

bo poprzedniego Polecane produkty na stronie głównej v0.9 na liście modułów w ogóle nie widziałam.

Moduł pobrałam stąd:

post185.html?hilit=homefeaturedcustom

Ten Homefeatured v0.91 - a swoją drogą, czym różnią się te moduły?

 

Mam jeszcze takie uwagi:

 

1. W polecanych jest tylko button dodaj do koszyka, a nie ma tego widok.

2. W najczęściej kupowanych z kolei jest tylko widok, a nie ma dodaj do koszyka.

3. Jak zrobić, żeby oba buttony były i w polecanych i w najczęściej kupowanych?

4. W najczęściej kupowanych nic się nie dzieje, nie dodaje na główną ostatnio kupionych, są na sztywno 4 produkty kupine jakiś czas temu, widać je dopiero po kliknięciu wszystkie najpopularniejsze ale i tak nie są ustawione jako pierwsze. Jak modyfikować ten moduł? Z poziomu PA nic nie zrobię, domyślam się, że coś trzeba zmienić w blockbestsellers ale co konkretnie i w których plikach?

Macie może jakiś pomysł?

Z góry dziękuję :)

 

Justyna

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam. W prestashop 1.5.3 również działa.

Dokładnie wygląda to tak:

otwieramy plik homefeatured.php (modules/homefeatured/homefeatured.php) i 106 linię kodu

 

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

 

zastępujemy:

 

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), NULL, NULL, false, true, true, ($nb ? $nb : 10));

 

Po każdorazowym odświeżeniu strony pojawiają nam się inne produkty polecane.

Pozdrawiam!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam. W prestashop 1.5.3 również działa.

Dokładnie wygląda to tak:

otwieramy plik homefeatured.php (modules/homefeatured/homefeatured.php) i 106 linię kodu

 

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

 

zastępujemy:

 

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), NULL, NULL, false, true, true, ($nb ? $nb : 10));

 

Po każdorazowym odświeżeniu strony pojawiają nam się inne produkty polecane.

Pozdrawiam!

pięknie działa wielkie dzięki :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się

Komentowanie zawartości tej strony możliwe jest po zalogowaniu



Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7 778
    • Postów
      37 069
×