Hej. Dziś podczas tworzenia jednej ze stron wpadłem na ciekawe rozwiązanie z modułami i tłumaczeniami. A mianowicie, czasami zdarza się tak, że tworzymy kilka takich samych modułów dla różnych języków, a treść modułu jest taka sama (lub podobna wtedy możemy dodać różną treść w zależności od strony języka - tutaj przydatny jest dodatek NoNumber Sourcerer, który pozwala nam użyć PHP, JS itp w edytorze joomli i sprawdzenie języka za pomocą PHP - prosty przykład: https://www.dropbox.com/s/9hvg5a4otl...2019.21.52.png).
Wracając do tematu, aby zmieniać tytuł modułu w zależności od języka strony, musimy wejść do naszego katalogu z szablonem i stowrzyć katalog html (jeśli nie mamy) a w nim plik modules.php - można go skopiować z szablonu systemowego.
Następnie musimy dopisać kod:
Kod:
// Check is title lang variable or normal text;
if (substr($module->title, 0, 4) == 'TPL_')
$moduleTitle = JText::_($module->title);
else
$moduleTitle = $module->title;
do wybranego szablonu wyglądu modułu. Tutaj przykład: https://www.dropbox.com/s/r93dxhmqhu...2019.27.21.png gdzie powinien się znaleźć kod.
Następnie musimy podmienić tekst z:
Kod:
<<?php echo $headerTag . $headerClass . '>' . $module->title; ?></<?php echo $headerTag; ?>>
na:
Kod:
<<?php echo $headerTag . $headerClass . '>' . $moduleTitle; ?></<?php echo $headerTag; ?>>
Od tej pory możemy dodawać zmienne do tłumaczenia w panelu administracyjnym (nadpisywanie tłumaczeń) lub bezpośrednio do plików językowych szablonu czyli w katalogu szablonu w katalogu language/[język]/pliki - tutaj przykładowa struktura plików językowych https://www.dropbox.com/s/ci4ok8503m...2019.29.20.png a tutaj przykład dodawania zmiennych do pliku z tłumaczeniami https://www.dropbox.com/s/nk89roriw4...2019.29.58.png
Teraz krótkie objaśnienie jak to działa. Jeżeli nasz tytuł modułu zaczyna się od "TPL_" to dodaje nam wartość
Kod:
JText::_($module->title)
, która przetworzy treść z tytułu modułu na tekst, który został wprowadzony w plikach językowych, jeśli tytuł nie zaczyna się od "TPL_" to pokaże nam zwykły tytuł.
Mam nadzieję, że komuś się to przyda. Gdyby coś było nie zrozumiałe to chętnie pomogę. Powodzenia.
PS: Swoją drogą dziwi mnie , że nie stworzyli jeszcze w Joomli standardowo zmiany treści i tytułu w zależności języka w obrębie jednego modułu.