Czasami chcesz, by użytkownicy forum mogli wypełnić dodatkowe informacje o sobie, na przykład link do profilu Steam, konta GitHub lub lokalizacji. W phpBB3 można to zrobić bez modyfikowania plików rdzenia — wystarczy dodać własne pole w profilu i następnie wyświetlić je w postach. W tym poradniku przejdziesz przez cały proces krok po kroku, od konfiguracji pola po edycję szablonu, by efekt końcowy wyglądał estetycznie i działał prawidłowo.
Jak dodać nowe pole w profilu użytkownika?
Dodanie nowego pola odbywa się w panelu administratora forum. Zaloguj się do ACP i przejdź do zakładki Użytkownicy i grupy, a następnie wybierz Zarządzanie polami profilu. Kliknij przycisk Dodaj pole.
W pierwszym kroku wybierz typ pola, na przykład:
- Tekstowe (jedna linia) – idealne dla linków lub krótkich informacji,
- Tekstowe (wiele linii) – przydatne dla opisu lub notatek,
- Lista rozwijana – jeśli chcesz, by użytkownik wybierał spośród kilku opcji.
W naszym przykładzie dodamy pole tekstowe o nazwie Steam ID. Wypełnij formularz:
- Nazwa pola: steam_id
- Etykieta wyświetlana: Steam ID
- Opis: Wpisz swój identyfikator Steam.
- Długość maksymalna: 32
- Wymagane: Nie
- Widoczne dla wszystkich: Tak
Po zapisaniu zmian phpBB automatycznie doda nowe pole do profilu każdego użytkownika. Nie musisz modyfikować bazy danych ani plików — system sam zajmuje się strukturą tabeli.
Jeśli chcesz, by pole było widoczne tylko dla zalogowanych użytkowników lub konkretnej grupy, możesz ustawić to w sekcji Uprawnienia widoczności. To dobre rozwiązanie, jeśli przechowujesz dane prywatne.
Jak użytkownik może wypełnić nowe pole?
Po utworzeniu pola w ACP każdy użytkownik może je edytować w swoim panelu. Wystarczy, że wejdzie w Panel użytkownika > Profil > Edytuj profil. Tam pojawi się nowe pole Steam ID, które można wypełnić i zapisać.
Warto poinformować użytkowników o nowej opcji — na przykład w ogłoszeniu lub poście na forum. Jeśli chcesz, by pole było obowiązkowe przy rejestracji, zaznacz odpowiednią opcję w ustawieniach pola. Wtedy phpBB wymusi jego wypełnienie podczas tworzenia konta.
Dobrą praktyką jest ograniczenie długości pola, aby uniknąć błędów formatowania. Można też dodać prostą walidację, na przykład sprawdzając, czy wpisany tekst zaczyna się od „STEAM_”. Taki warunek można ustawić w sekcji Walidacja danych w ACP.
Po zapisaniu informacji przez użytkownika pole będzie przechowywane w bazie danych i gotowe do wyświetlenia w profilu lub przy postach.
Jak wyświetlić nowe pole w profilu użytkownika?
phpBB3 automatycznie pokazuje dodatkowe pola w profilu użytkownika, o ile mają ustawioną opcję Widoczne w profilu. Możesz to włączyć w konfiguracji pola w ACP. Dzięki temu po wejściu na stronę profilu (memberlist.php?mode=viewprofile&u=ID) pojawi się nowa linia z Twoim polem.
Jeśli chcesz zmienić miejsce, w którym pole się pojawia, edytuj plik memberlist_view.html znajdujący się w katalogu:styles/twoj_styl/template/.
Wyszukaj sekcję odpowiedzialną za wyświetlanie informacji o użytkowniku, a następnie dodaj:
<!-- IF steam_id -->
<dt>Steam ID:</dt>
<dd>{STEAM_ID}</dd>
<!-- ENDIF -->
Po zapisaniu pliku odśwież cache forum w panelu administratora (zakładka Ogólne > Czyszczenie pamięci podręcznej). Nowe pole pojawi się na profilu każdego użytkownika, który je wypełnił.
Jak dodać własne pole w widoku postów?
Aby wyświetlić pole bezpośrednio w postach, musisz zmodyfikować plik viewtopic_body.html. Znajduje się on w tym samym katalogu szablonu. Wyszukaj fragment odpowiedzialny za informacje o autorze posta, zwykle w pobliżu {postrow.POSTER_FROM} lub {postrow.POSTER_JOINED}.
Dodaj poniższy kod w miejscu, w którym chcesz, aby pojawiło się pole:
<!-- IF postrow.STEAM_ID -->
<dd class="profile-steam">
Steam ID: {postrow.STEAM_ID}
</dd>
<!-- ENDIF -->
Dla lepszego wyglądu można dodać styl CSS w pliku stylesheet.css:
.profile-steam {
font-size: 0.9em;
color: #aaa;
margin-top: 3px;
}
Po zapisaniu zmian i odświeżeniu cache forum w postach pojawi się nowa linia z informacją „Steam ID”. Jeśli użytkownik nie uzupełnił pola, wpis nie zostanie wyświetlony.
Jak dodać ikonę lub link do pola?
Jeśli chcesz, by w poście pojawiała się nie tylko treść, ale i link do profilu użytkownika (np. na Steam), możesz użyć prostego warunku w szablonie:
<!-- IF postrow.STEAM_ID -->
<dd class="profile-steam">
<a href="https://steamcommunity.com/id/{postrow.STEAM_ID}" target="_blank">
<img src="{T_THEME_PATH}/images/steam_icon.png" alt="Steam" /> Steam profil
</a>
</dd>
<!-- ENDIF -->
Dzięki temu kliknięcie w ikonę przeniesie użytkownika na jego stronę Steam. Wystarczy umieścić ikonę steam_icon.png w katalogu styles/twoj_styl/theme/images/.
W ten sam sposób można dodać inne pola, np. GitHub, Discord lub lokalizację. Każde z nich można stylizować osobno, zachowując spójność z resztą forum.
Jak uniknąć błędów przy aktualizacji forum?
Ponieważ wszystkie zmiany wprowadzane są w plikach stylu, aktualizacje phpBB3 nie nadpiszą ich bezpośrednio. Warto jednak zawsze robić kopię zapasową katalogu /styles/ oraz bazy danych przed każdą większą aktualizacją.
Jeśli korzystasz z niestandardowego stylu, upewnij się, że kod jest zgodny z wersją silnika. Niektóre style mają inne struktury plików szablonów, co może wymagać ręcznej korekty. Najlepiej testować zmiany na kopii forum przed wdrożeniem ich na stronie produkcyjnej.
Dla większej elastyczności możesz też stworzyć prostą wtyczkę, która doda pole automatycznie – dzięki temu unikniesz ręcznej edycji szablonów w przyszłości.
Podsumowanie
Dodanie własnego pola w profilu użytkownika w phpBB3 to prosty sposób na personalizację forum. Cały proces można przeprowadzić bez modyfikowania rdzenia — wystarczy dodać pole w ACP, ustawić jego widoczność i umieścić w odpowiednich szablonach. To rozwiązanie jest bezpieczne, elastyczne i daje duże możliwości — od prostych etykiet po zaawansowane integracje z zewnętrznymi serwisami. Dzięki temu forum staje się bardziej spersonalizowane i przyjazne dla społeczności.





Leave a Reply