Skocz do zawartości

Witamy na polskim forum Contao
Zarejestruj się teraz, aby skorzystać ze wszystkich funkcji forum. Kiedy się zalogujesz, będziesz mógł tworzyć tematy, pisać posty, rozdawać punkty reputacji, korzystać z prywatnych wiadomości i zarządzać swoim profilem. Jeśli posiadasz już konto, zaloguj się - w przeciwnym wypadku zarejestruj się już teraz!
Zdjęcie

Jeden szablon używany przez dwa moduły, jak rozdzielić? Ilość pozycji FAQ w liście.

szablon moduły rozdzielić faq lista najnowsze pozycje ograniczyć

  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1
stpr

stpr

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 134 postów
Borykam się z takim problemem, że 2 moduły używają tego samego szablonu, chodzi o moduł Lista FAQ i Strona FAQ. Chcę aby w module Lista FAQ nie było podziału na kategorie, jednak nie znalazłem opcji, żeby je ukryć, więc pomyślałem, że usunę kategorie w szablonie. Jednak to nie daje rezultatu pożądanego, bo na Stronie FAQ też znikły kategorie, a tam chciałbym je jednak mieć, chociaż z takiego powodu, że nie widzę modułu Menu FAQ, który mógłbym użyć w zastępstwie i rozwiązałby problem. Więc moje pytanie czy jest możliwość wyłączenia kategorii dla Listy FAQ i jeśli jest tak jak zauważyłem i faktycznie nie ma takiej opcji, to jak przypiąć osobny szablon do Listy i osobny do Strony FAQ?
Wiem, że była podobna dyskusja odnośnie modułu mod_navigation.tpl, jednak nie do końca jest zbieżna, bo podany tam kod dotyczył rozróżnienia szablonu w zależności od przeglądarki, a drugiego rozwiązania za bardzo nie ogarniam, jest dość pobieżnie przedstawione, pewnie dlatego że sam autor postu na nie wpadł :). Prosiłbym napisać tak łopatologicznie jak to zrobić, nie wiem może coś się zmieniło od tamtego czasu i są jakieś prostsze (klikane) metody.

Druga sprawa w module aktualności mam opcję ile chcę wyświetlić pozycji ostatnich w liście, a w module FAQ nie ma czegoś takiego, co trzeba zrobić aby ograniczyć listę FAQ do np. 5 ostatnich pozycji? W sumie to mógłbym zastosować moduł aktualności zamiast FAQ ale jakoś tak chcę powalczyć, bo w końcu to FAQ ma służyć jako FAQ, a nie aktualności.
  • 0

#2
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 520 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Niezbyt eleganckie wyjście to rozpoznać moduł na podstawie aktualnej strony:

<?php if (stripos($this->Environment->request, 'faq-kategoria') !== false): ?>
<!-- tu moduł strona FAQ -->
<?php else: ?>
<!-- tu moduł lista FAQ -->
<?php endif; ?>
Można też dodać klasę CSS do modułu i na podstawie tego sprawdzić:

<?php if (stripos($this->class, 'faq-kategoria') !== false): ?>
<!-- tu moduł strona FAQ -->
<?php else: ?>
<!-- tu moduł lista FAQ -->
<?php endif; ?>

Listę FAQ możesz ograniczyć do ostatnich 5 pozycji np. tak (plik templatki):

<?php foreach ($category['items'] as $faq): ?>
zamienić na
<?php foreach (array_slice($category['items'], -5) as $faq): ?>

  • 0

Codefog - Contao web development


#3
stpr

stpr

    Znawca

  • Zarejestrowani
  • PipPipPipPip
  • 134 postów
Można też dodać klasę CSS do modułu i na podstawie tego sprawdzić:

<?php if (stripos($this->class, 'faq-kategoria') !== false): ?>
<!-- tu moduł strona FAQ -->
<?php else: ?>
<!-- tu moduł lista FAQ -->
<?php endif; ?>

Kamilu, w wolnej chwili napisz dokładniej bo nie wiem jak to rozwiązanie zastosować.
  • 0

#4
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 520 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Weźmy to na konkretnym przykładzie: masz dwa moduły frontend "lista faq". Jeden nazywa się "Lista FAQ 1", a drugi analogicznie "Lista FAQ 2". Teraz, modułowi "Lista FAQ 1" nadajesz klasę CSS "faq_1" (oczywiście w edycji modułu, na samym dole), a drugiemu modułowi analogicznie "faq_2". W templatce rozróżniasz moduły tak:

<?php if (stripos($this->class, 'faq_1') !== false): ?>
<!-- moduł "Lista FAQ 1" -->
<?php else: ?>
<!-- moduł "Lista FAQ 2" -->
<?php endif; ?>

  • 0

Codefog - Contao web development


#5
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 520 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
http://www.contao.or...0000009.en.html
  • 0

Codefog - Contao web development






Również z jednym lub większą ilością słów kluczowych: szablon, moduły, rozdzielić, faq, lista, najnowsze pozycje, ograniczyć

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych użytkowników