2012-11-07 13 views
6

Po pierwsze, zastrzeżenie ... Jestem zupełnie nowy w Stash. Wiele o tym słyszałem, ale to jest mój pierwszy raz, kiedy się z tym bawię. Dostaję tę koncepcję, ale mam problem z wymyśleniem tej jednej rzeczy.Skrytka: Treści warunkowe

Mam główny plik "opakowania" i wszystko w tym opakowaniu pozostaje takie samo. Chciałbym jednak, aby opcja włączania i wyłączania paska bocznego była możliwa.

Nie sądzę, że potrzebowałbym całkowicie oddzielnego opakowania układu?

Czy istnieje sposób użycia zmiennej boolean w skrytce? (np. 2col = TRUE) lub czy myślę o tym źle?

Z góry dziękuję za pomoc!

Odpowiedz

3

Zazwyczaj używam jednego opakowania dla każdego szablonu. Będzie zawierać tag {exp:stash:get name="content"}, taki jak Twój, zawierający jedyną zmienną treść w środku.

W moich indywidualnych szablonach osadzam opakowanie na początku za pomocą zwykłego osadzania EE, tj. {embed="includes/wrapper"}.
Następnie przechowuję zawartość przeznaczoną do wstawienia do opakowania przy użyciu znacznika {exp:stash:set name="content"}.
Wydaje się, że tak czy inaczej.

Jeśli chcę warunkowo wyświetlić pasek boczny, mogę po prostu przekazać zmienną do osadzenia.
np. {embed="includes/wrapper" show_sidebar="yes"}

W moim owijki chciałbym to zrobić:

{if embed:show_sidebar} 
    Sidebar stuff. 
{/if} 
+0

lubię tego rozwiązania. Nigdy nie myślałem o używaniu zmiennych osadzających w opakowaniu opakowania. Geniusz. –

+1

Tę samą koncepcję można zrealizować, używając osadzeń Stash w gałęzi dev. Nie używam żadnych osadzonych EE na korzyść osadzeń Stash. Są całkowicie niesamowite - po prostu chwyć gałąź dev Stash. –

+0

Dzięki Justin. Jeszcze nie zapoznałem się z ukrytymi hasłami. Jeśli mogą wykonać to samo zadanie, byłoby to jeszcze lepsze rozwiązanie. –

4

Ogólnie rzecz biorąc, to co robiłbym tutaj, to konfiguracja wielokrotnego przechowania w opakowaniu. Następnie w indywidualnych szablonach możesz ustawić zarówno pasek boczny, jak i główny obszar zawartości. W przypadku części, w których możesz powtarzać treść, takich jak otwierające i zamykające elementy div paska bocznego, zawsze możesz upuścić kilka fragmentów wewnątrz skrytki.

Można również użyć exp:stash:not_empty[docs] do owijania wokół elementu div lub kontenera paska bocznego w opakowaniu.