Narzędzia użytkownika

Narzędzia witryny


start:templatki:sidebar.php

sidebar.php

W skrócie sidebar.php zawiera informacje o sposobie wyświetlania domyślnego widgetu w sidebarze. Dostępne znaczniki:

_WIDGETSLUG_ - wstawi slug (skrót) widgetu

_WIDGETPLACE_ - wstawi nazwę sidebaru dla widgetu

_WIDGETTYTUL_ - wstawi tytuł widgetu

_WIDGETTRESC_ - wstawi treść widgetu

Dodatkowo można korzystać z instrukcji warunkowej html.

Oto przykładowy plik:

<div class="widget widget__WIDGETSLUG_ widget__WIDGETSLUG___WIDGETPLACE_">
	<div class="list-group my-2">
			<button type="button" class="list-group-item list-group-item-action list-group-item-success active">
				_WIDGETTYTUL_
			</button>
				_WIDGETTRESC_
	</div>
</div>

A to plik z instrukcją warunkową (ukrywanie nagłówka z tytułem w przypadku braku tytułu):

<div class="widget widget__WIDGETSLUG_ widget__WIDGETSLUG___WIDGETPLACE_">
	<div class="list-group my-2">
			[IF "_WIDGETTYTUL_" "NOT" ""]
			<button type="button" class="list-group-item list-group-item-action list-group-item-danger active">
				_WIDGETTYTUL_
			</button>
			[/IF]
			_WIDGETTRESC_	
	</div>
</div>

Definiowanie dodatkowych plików sidebar_CUSTOM.php

Dla każdego widgetu można utworzyć osobny plik zarówno ze względu na jego nazwę jak i umiejscowienie. Daje to spore możliwości niestandarowych ustawień dla każdego widgetu.

Zasada tworzenia nazwy pliku jest bardzo prosta: sidebar_NAZWASIDEBAR_SLUGWIDGETU.php

gdzie:

_NAZWASIDEBAR - to nazwa danego sidebaru, nazwy sidebarów definiowane są w templatce (index.php) metodą $klasa→sidebar('dowolnanazwamiejsca'). Listę aktywnych nazw znajdziesz na liście widgetów. Możesz również utworzyć własne nazwy sidebarów, które będziesz mógł użyć w treści wpisów.

_SLUGWIDGETU - jest opcjonalną wartością. Slug danego widgetu znajdziesz na liście widgetów w swoim CMSie.

Przykłady nazywanie plików sidebar

sidebar.php - to domyślny sidebar. Widget przyjmie jego formę, gdy nie zostanie dopasowany żaden plik wyższego poziomu.

sidebar_right.php - formatowanie widgetu znajdujące się w sidebarze o nazwie „right”. W szablonie index.php zostanie on zdefiniowany w następujący sposób: <?php $klasa→sidebar('right'); ?>

sidebar_right_tag_cloud.php - formatowanie tylko widgetów tagów (slug to tag_cloud) znajdujących się w sidebarze o nazwie „right”. Inne widgety w sidebarze o nazwie „right” przyjmą formę pliku sidebar_right.php, a jeśli plik sidebar_right.php nie istnieje, to przyjmą formę pliku sidebar.php

Dodatkowe wytłumaczenie zasad tworzenia sidebarów i formatowania widgetów

Przykład próby ustawienia formatowania dla widgetu custom_php w sidebarze o nazwie left.

Prawidłowo:

<div class="widget widget__WIDGETSLUG_ widget__WIDGETSLUG___WIDGETPLACE_">

Nieprawidłowo:

<div class="widget widget__custom_php_ widget__custom_php___Zobacz_">

W przykładzie mamy:

widget__custom_php_

czyli wprowadzana jest stała, która nie będzie zamieniona na nic innego, czyli klasa elementu będzie dokładnie taka jak w kodzie źródłowym, będzie to:

<div class="widget widget__custom_php_ widget__custom_php___Zobacz_">

Powyższe opcje np.

_WIDGETSLUG_

czy też

_WIDGETPLACE_

są potrzebne tylko wtedy, gdy na przykład chcemy różnie formatować konkretny widget (np. custom_php) za pomocą CSS (odwołując się do nazwy widgetu i/lub umiejscowienia).

Czyli wracając do początku, tego kodu nie należy zmieniać:

<div class="widget widget__WIDGETSLUG_ widget__WIDGETSLUG___WIDGETPLACE_">
	<div class="list-group my-2">
			<button type="button" class="list-group-item list-group-item-action list-group-item-success active">
				_WIDGETTYTUL_
			</button>
				_WIDGETTRESC_
	</div>
</div>

I teraz jeśli do sidebara o nazwie „left” wybierzemy na przykład widget „custom_php” (w menu przez panel CMSpodZaplecze), to wtedy główny div (czyli kontener) tego widgetu będzie miał taką klasę:

<div class="widget widget_custom_php widget_custom_php_left">

Dzięki temu możemy zróżnicować w swoim CSS wygląd dla tego widgetu (w tym przykładzie według widgetu i dodatkowo według konkretnego sidebara).

Powyższe to jedna z możliwości różnicowania sidebarów, bo można im nadać też całkiem inną postać (osobne pliki) tworząc dodatkowy plik o konstrukcji nazwy:

sidebar_NAZWASIDEBAR_SLUGWIDGETU.php

W naszym przykładzie będzie to:

sidebar_left_custom_php.php

W takim pliku można sobie już pozwolić na zupełnie dowolne formatowanie za pomocą klas, stylów, html, bo będzie się tyczyło tylko widgetów custom php, które zostaną umiejscowione w sidebarze o nazwie 'left', a więc nie potrzebujemy już dla identyfikacji żadnych zmiennych w pliku (odgórnie wiadomo, że ten plik tyczy się tego konkretnego widgetu i miejsca).

Podsumowując mamy dwie możliwości formatowania widgetów w sidebarach ze względu na widget i sidebar:

1. Korzystając ze zmiennych podstawianych pod:

_WIDGETSLUG_

i

_WIDGETPLACE_

Najlepsza opcja w tym przypadku to oczywiście przypisanie klas skonstruowanych na podstawie tych zmiennych. Tu klasa może wyglądać zupełnie dowolnie, wystarczy np:

<div class="_WIDGETSLUG__WIDGETPLACE_">
	<div class="list-group my-2">
			<button type="button" class="list-group-item list-group-item-action list-group-item-success active">
				_WIDGETTYTUL_
			</button>
				_WIDGETTRESC_
	</div>
</div>

Wtedy klasa w głównego diva będzie w naszym przykładzie:

<div class="custom_phpleft">

2. Korzystając z możliwości tworzenia dodatkowych plików. Wtedy można sobie pozwolić na dowolne nazywanie klas dla danego widgetu w danym miejscu.

start/templatki/sidebar.php.txt · ostatnio zmienione: 2023/02/16 14:46 (edycja zewnętrzna)