Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SMARTY] Wyświetlanie tekstu
Forum PHP.pl > Forum > PHP
Vachu
Witam,
mam sklep na Prestaschop, każda kategoria ma swój opis. Problemem są filtry na stronie - kiedy zaznaczymy jakąś opcje to pojawi się nowy adres z tekstem np domena/podstrona#/nazwa_filtra.

Chciałbym aby opis dla podstrony wyświetlał się tylko kiedy pojawi się domena/podstrona. Szablon strony jest w smarty. Na razie ukulałem coś takiego

  1. {if $category->description && !isset($smarty.get.p) && $smarty.server.REQUEST_URI eq "#"}
  2.  
  3. <div class="cat_desc">
  4. {$category->description}
  5.  
  6. </div>
  7.  
  8.  
  9. {/if}


Moja koncepcja na rozwiązanie to zrobić warunek, że kiedy w adresie pojawi się znak #,?, filter to nie będzie wyświetlało opisu
mimol
z tego co mi się wydaje to server nie ma dostępu do tego co jest po # w adresie (mozna dostac doste tylko uzywajac js)
(Tak mi sie wydaje)
Vachu
Chodzi mi tylko o element wspólny adresów.
Presta strasznie śmieci na tym tle. Taka sama zawartość może się wyświetlać pod adresami domena/podstrona , domena/podstrona# , domena/podstrona_filtr1 , domena/podstrona_filtr1_filtr2.

Mi zależy, żeby opis był wyświetlany tylko w przypadku kiedy adres będzie wyglądał domena/podstrona. Próbowałem wyciągnąć string z url i jeżeli pojawią się w nim poszczególne słowa lub znaki to wtedy nie będzie wyświetlało tekst. Nie wiem jak zrobić warunek że dowolne znaki z lewej i prawej coś jak w MySQL oznaczają %.
mimol
nie dokońca wiem jak ci mogę pomóc, może http://pl1.php.net/parse_url ?
ew mozesz sobie użyć regexp lub strpos do sprawdzenia czy adres zawiera jakis string (np filtr) wtedy wiadomo że to nie jest domena/podstrona
Niestety nie miałem w ogóle do czynienia z pretashop
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.