Zobacz pełną wersję : Instrukcja PHP if zliczająca ilość modułów na danej pozycji
Witajcie. Tworząc szablony Joomla często korzystam z instrukcji if($this->countModules('pozycja_modulu')) - a więc Jeśli na danej pozycji jest moduł. Potrzebuję instrukcji PHP, która zliczałaby ilość modułów umieszczonych na danej pozycji; a więc np. jeśli na danej pozycji są 2 moduły nadaj im width:50%. Czy istnieje taka instrukcja?
PS. Czy jest gdzieś zbiór jeszcze innych tego typu przydatnych instrukcji PHP, jakie warto używać w szablonach Joomla?
Dzięki z góry.
zwiastun
19-01-2015, 14:55
Przejrzałeś, co na ten temat jest na wiki?
Wstępnie, ale nie znalazłem tego czego szukam
pawelSafiStudio
19-01-2015, 17:54
To możesz zrobić przy pomocy nadpisania pliku /html/modules.php w templatce, z której korzystasz. Wystarczy stworzyć dla danego modułu odpowiedni "styl". Następnie trochę brzydko, ale posłuż się zmiennymi globalnymi:
Przed funkcją opisującą "styl" dajesz:
global $zmienna_do_zliczania;
$zmienna_do_zliczania = 0;
Potem wewnątrz tej funkcji korzystasz ze zmiennej globalnej:
global $zmienna_do_zliczania;
$zmienna_do_zliczania += 1;
Morzesz sobie ją później wykorzystać do obliczania szerokości opakowania modułu.
zwiastun
19-01-2015, 17:57
Możliwe, że tego się już dziś tak nie robi, ale to łatwo sprawdzić:
http://wiki.joomla.pl/Wi%C4%99cej_o_modu%C5%82ach_w_Joomla!
$this->countModules('pozycja_modulu') zwraca ilość modułów wyświetlanych w danej pozycji (zależnie od pozycji menu),
nie tylko informację czy moduł jest.
pawelSafiStudio
20-01-2015, 07:29
@Jola, racja :) Trochę źle zrozumiałem temat. Myślałem, że @pawinf chce liczyć kolejne moduły w celu nadania klasy np: modul_1, modul_2, modul_3. Tutaj faktycznie countModules w zupełności załatwia sprawę :)
Dzięki za odpowiedzi. Właściwie oba podejścia do sprawy są dla mnie ważne. Nadawanie klas kolejnym modułom na pewno też znalazłoby swoje zastosowanie; zaproponowane wyjaśnienie jest dla mnie nowe i wydaje mi się skomplikowane, ale spróbuję się temu przyjrzeć. Ale wrócę do odpowiedzi @Jola:
"$this->countModules('pozycja_modulu') zwraca ilość modułów wyświetlanych w danej pozycji (zależnie od pozycji menu), nie tylko informację czy moduł jest"
jak praktycznie powinien wyglądać warunek if uzależniający od ilości modułów na danej pozycji?
czy dotyczy to tylko menu, a nie np. modułów custom, z których najczęściej korzystam?
zwiastun
20-01-2015, 14:37
Przepraszam, ale po co podałem Ci link, w którym masz konkretne przykłady?
Klasę modułu dodajesz w konfiguracji modułu, a powyższy warunek można użyć do zdefiniowania parametrów css tej (tych klas) np. w sekcji head.
Gall Anonim
20-01-2015, 18:14
Przepraszam, ale po co podałem Ci link
też nie wiem po co ponieważ poniższy (podany powyżej link)
http://wiki.joomla.pl/Wi%C4%99cej_o_...82ach_w_Joomla!
daje po kliknięciu taki wynik "Więcej o ...82ach w Joomla
Z Joomla!WikiPL
Ta strona nie posiada jeszcze zawartości. Możesz wyszukać ten tytuł (http://wiki.joomla.pl/Specjalna:Szukaj/Wi%C4%99cej_o_...82ach_w_Joomla) w treści innych stron lub przeszukać powiązane rejestry (http://wiki.joomla.pl/index.php?title=Specjalna:Rejestr&page=Wi%C4%99cej_o_...82ach_w_Joomla), ale nie masz uprawnień do utworzenia tej strony
zwiastun
20-01-2015, 21:15
Napiszę tak: linku nie wziąłem z Księzyca. Forum czasem robi psikusy i tak było w tym przypadku - ostatni znak z adresu (wykrzyknik) znalazł się poza linkiem. Wystarczyło go dopisać, by trafić na właściwą stronę. Ale wystarczyło również, aby zainteresowany problemem dał informację zwrotną, że link nie działa.
Swoją drogą - linki na wiki zawierają w sobie tytuł artykułu, co łatwo zauważyć w adresie . Skoro trafia się gdzieś błąd, wystarczy wrzucić w wyszukiwarkę wiki ostatni człon adresu i wyszukiwarka zaprowadzi do celu.
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!