Skocz do zawartości
Speedy044

Domyślna strona po zalogowaniu i data jako kategoria.

Rekomendowane odpowiedzi

Witam.

Staram się zmodyfikować sklep postawiony na preście 1.5.6. I tutaj pojawiają się dwa problemy, które mam nadzieję pomożecie mi rozwiązać.

 

1. Po zalogowaniu na konto, domyślną stroną jest "Moje konto", chciałbym aby nie była to ta strona, a strona główna. Zaznaczę tutaj, że jest blokada dla nie zalogowanych użytkowników i goście widzą tylko krótką notkę, blok rejestracji oraz logowania.

 

Szukałem w plikach modułu myaccount, authentication.php, index.php, config.php i nigdzie nie mogę tego znaleźć. Proszę o pomoc.

2. Druga sprawa - mam blok kategorii (jako że to sklep z zabawkami to "Zabawki plażowe", "Pluszowe", "Bańki" etc.) jednak aby oszczędzić swoim klientom zbędnego przeglądania za każdym razem wszystkich produktów, chciałbym podzielić je (oprócz standardowych kategorii) po dacie. Kilka razy w miesiącu dostaję dostawę nowych zabawek i chciałbym mieć je posegregowane w kategoriach np. 20.02.2015, 28.02.2015 itd. itd. Czy ktoś ma jakiś pomysł jak to zrobić?

3. A i jeszcze czysto teoretyczne pytanie. Czy jeśli edytuję standardowy szablon na serwerze (zmiana tła, wygląd menu itd.) - wszystko w kodzie. To czy kiedy wyexportuje, szablon zachowa te wszystkie zmiany?


Pozdrawiam i z góry dziękuję za odpowiedź.

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. AuthCOntroller.php

				if (!$this->ajax)
				{
					if (($back = Tools::getValue('back')) && $back == Tools::secureReferrer($back))
						Tools::redirect(html_entity_decode($back));
					Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : 'my-account'));
				}

3. Tak, jeśli modyfikujesz tylko pliki szablonu.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Niestety nie działa, zmieniłem wszystkie możliwe w pliku controllers/Front/AuthController.php

'my-account'

na

'index'

 i cały czas odsyła na Moje konto.

 

//edit

Zrobione. Dla pokoleń. Należy wykonać to w ten sposób:

Zamienić ten fragment kodu:
 

if (!$this->ajax)
				{
					if (($back = Tools::getValue('back')) && $back == Tools::secureReferrer($back))
						Tools::redirect(html_entity_decode($back));
					Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : 'my-account'));
				}

na:
 

if (!$this->ajax)
				{
					if ($back = Tools::getValue('back'))
						
					Tools::redirect('index.php');
				}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam ponownie. 
Dziękuje za pomoc w punkcie 1 oraz 3.
 

Jeśli chodzi o pkt. 2.
Poradziłem sobie, duplikując i modyfikując moduł Blok Kategorii (jeśli dokończę wszystko robić, to napiszę z czym to się je), ale mam też kolejny problem.

Postanowiłem ręcznie tworzyć kategorie w tymże bloku (28.02.2015, 2.03.2015 itd.) oraz ręcznie dodawać do tych kategorii produkty. Mam pytania:

 - Jak zrobić aby mój drugi blok kategorii pokazywał się tylko na podstronie "Nowe dostawy" (Stworzę taką)?
 - Jak usunąć jedną kategorię z bloku kategorii (chodzi tutaj o ten główny, a nie ten co teraz zrobiłem). Nie chodzi mi o usunięcie kategorii tylko po prostu, żeby się nie wyświetlała w tym bloku.
 - Mam kategorię Główną i chciałbym zrobić drugą równorzędną kategorie. Może zobrazuje:

Główna
| - Akcesoria
| - iPod
| - Laptopy

Nowe dostawy
| - 20.02
| - 28.02
| - 15.03

Dziękuję za pomoc, pozdrawiam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Musisz trochę pokombinowac z kategoriami i ich hierarchią

tzn "Nowe dostawy" musi być na tym samym poziomie co "Główna"

 

następnie w module masz  funkcję getTree, w której jednym z parametrów jest  $id_category = 1

 

zmieniasz  to 1 na id kategorii "Nowe dostawy"

 

i tyle

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dzięki za odpowiedź, ale getTree to wszystko mam już zrobione. Bardziej mi teraz zależy na hierarchii, ponieważ kiedy "Nowe Dostawy" są w kategorii Głównej to wyświetlają się w tym Bloku Kategorii, a tego właśnie chcę uniknąć.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

no przecież napisałem, ze musisz "przeoraganizować" kategorie

 

tworzysz 2 główne kategorie

 

np.

Główna

| -Sklep

    | - Akcesoria
    | - iPod
    | - Laptopy

 

| -Nowe dostawy
    | - 20.02
    | - 28.02
    | - 15.03

 

Modyfikujesz w obydwóch modułach getTree

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wszystko działa, dzięki :) Wcześniej źle zrozumiałem.
To skoro mam już ten temat to jeszcze jedną rzecz chciałbym się zapytać.

Widok produktów wygląda u mnie następująco:
przed.png

 

A chciałbym, żeby wyglądał tak:
po.png

 

Chodzi mi o pole z ilością. Zrobiłem to pole, wstawiłem, próbowałem jakoś je połączyć z przyciskiem "Dodaj", ale bez skutku, nie ważne ile wpiszę, zawsze się dodaje się tylko jeden produkt do koszyka. Może ktoś wie w jakich plikach muszę to skonfigurować ? Oprócz product_list.tpl

 

Ew. jakiś moduł? modyfikacja? Czy jakiś inny sposób?

 

 

//edit

 

Rozwiązane!


w pliku product-list.tpl (themes/nazwa_szablonu/product-list.tpl)
znajdujemy:

 

{if ($product.allow_oosp || $product.quantity > 0)}
	  {if isset($static_token)}
	   <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}&token={$static_token}", true)}" title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a>
	  {else}
	   <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}", true)} title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a>
	  {/if}	
	 {else}
	  <span class="exclusive"><span></span>{l s='Add to cart'}</span><br />
	 {/if}
	{/if}
	<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
   </div>
  </li>
{/foreach}
</ul>
<!-- /Products list -->
{/if}

i zamieniamy na:
 

{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) &&
$product.minimal_quantity == 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}
		 {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
				 {l s='Quantity :'}
				 <input type="text" name="ajax_qty_to_add_to_cart[{$product.id_product|intval}]" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset
($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" size="2" maxlength="3" />
			  
			  
		  <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product=
{$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a><br />
		 {else}
		  <span class="exclusive"><span></span>{l s='Add to cart'}</span><br />
		 {/if}
		{/if}


	 {if ($product.allow_oosp || $product.quantity > 0)}
	  {if isset($static_token)}
	  
	  {else}
	   <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}"
href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}", true)} title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a>
	  {/if}

	
	 {else}
	  <span class="exclusive"><span></span>{l s='Add to cart'}</span><br />
	 {/if}
	{/if}
	<a class="button lnk_view" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
   </div>
  </li>
{/foreach}
</ul>
<!-- /Products list -->
{/if}

Następnie udajemy się do katalog_główny_prestashop/modules/blockcart i edytujemy plik ajax-cart.js

Ten fragment kodu:

 

//for every 'add' buttons...
$('.ajax_add_to_cart_button').unbind('click').click(function(){
var idProduct =  $(this).attr('rel').replace('ajax_id_product_', '');
if ($(this).attr('disabled') != 'disabled')
ajaxCart.add(idProduct, null, false, this);
return false;
})

Zamieniamy na:
 

//for every 'add' buttons...
$('.ajax_add_to_cart_button').unbind('click').click(function(){
var idProduct =  $(this).attr('rel').replace('ajax_id_product_', '');
if ($(this).attr('disabled') != 'disabled')
ajaxCart.add(idProduct, null, false, this,$('#quantity_wanted_'+ idProduct).val());
//alert($('#quantity_wanted_'+ idProduct).val());
return false;
});

Voila! Działa super pięknie. Jeśli ktoś chciałby  sobie ostylować pole to w product-list.tpl 
w linii
 

 <input type="text" name="ajax_qty_to_add_to_cart[{$product.id_product|intval}]" id="quantity_wanted_{$product.id_product|intval}" class="text" value="{if isset
($quantityBackup)}{$quantityBackup|intval}{else}1{/if}" size="2" maxlength="3" />

wystarczy dodać np. po type="text" dopisać style="tutaj atrybuty".

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ę



  • Podobna zawartość

    • Przez tomasz16
      Wykonam sklep internetowy oraz strone www dla Twojej firmy.
      więcej informacji udzielę poprzez e-mail.
      Odpowiadam szybko.
      moje portfolio : tomaszkoksanowicz.pl
      e-mail: t.koksanowicz@gmail.com
    • Przez dmsl
      Witam 
       
      Po zalogowaniu do presty powinien pokazać mi się pulpit z różnymi tabelkami. Tymczasem mam to:
      Groups   
      Attributes of group "" This group does not have any attributesJak powrócić do stanu poprzedniego?

    • Przez qwerenda
      Pomocy!

      Mam problem z wyświetlaniem produktów na stronie głównej sklepu...
      Chodzi o to, że chce zmienić kolejność w katalogu głównej i po przesunięciu w górę nie mam aktualizacji jej wyświetlania na głównej...

      Mam nadzieje że wiadomo o co chodzi

       
  • 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 783
    • Postów
      37 077
×