Linki PHPBB otwierane w nowym oknie

Otwieranie linków zewnętrznych w tym samym oknie wiąże się najczęściej z przejściem użytkownika na inną stronę (użytkownik pozostaje tylko w przypadku kliknięcia prawym przyciskiem na link i wybrania opcji “otwórz w nowym oknie/karcie”).

Jeżeli chcemy, aby w naszym forum postawionym na PHPBB linki w postach i sygnaturach otwierały się w nowym oknie, musimy zmodyfikować funkcje odpowiedzialne za ich tworzenie. Edytujemy plik includes/functions_content.php. Znajdujemy w nim funkcję make_clickable_callback() i w jej ciele, do znacznika <a> dodajemy parametr target=”_blank”. Zmieniona linijka kodu będzie wyglądała następująco:

$html    = "$whitespace<!-- $tag --><a$class href=\"$url\" target=\"_blank\">$text</a><!-- $tag -->$append";

Następnie edytujemy plik bbcode.html. Znajdziemy do w podkatalogu template, w katalogu z naszym bieżącym stylem (np. styles/prosilver/template). Znajdujemy w nim linijkę zaczynającą się od <!– BEGIN url –>. W linijce tej, w znaczniku <a> dodajemy parametr target=”_blank”. Gotowy kod będzie wyglądał następująco:

<!-- BEGIN url --><a href="{URL}" target="_blank">{DESCRIPTION}</a><!-- END url -->

Parse error: eval()’d code

Czasami, szczególnie po ręcznym updatowaniu forum PHPBB pojawia się następujący błąd:

Parse error: eval()'d code

Oznacza on błąd w składni PHPBB. Błędem takim może być np. niedomknięcie instrukcji warunkowej itp. Co ważne błędu szukamy w plikach templatów.

Przykładowe błędy:

1. Niedomknięcie instrukcji warunkowej (brak <!– ENDIF –> na końcu kodu)
<!-- IF U_FORUM_RULES -->
kod html

2. Używanie w komentarzach słów zastrzeżonych dla składni PHPBB, np. BEGIN, END
<!-- BEGIN MOJ KOD -->
kod html
<!-- END MOJ KOD -->

3. Niedomknięcie instrukcji warunkowej
<!-- IF U_FORUM_RULES