Modyfikacja poprawiająca tytuły podstron

Założony przez  Łukasz Tkacz.

Zainteresowany tym tematem:
https://webboard.pl/thread-21669.html

postanowiłem przyjrzeć się tytułom w MyBB. Modyfikacja Google SEO nie zmienia ich w żaden sposób, bo jest to z poziomu pluginu praktycznie niemożliwe.
Tymczasem tytuły np. podczas przechodzenia pomiędzy stronami działów czy tematów są zawsze takie same, w niektórych wypadkach brakuje natomiast nazwy strony, która w wynikach wyszukiwania od razu daje użytkownikowi wiadomość skąd jest dana podstrona.
Można to jednak poprawić przez prostą edycję jednego tylko pliku, dzięki której numer podstrony jak i nazwa serwisu zawsze będzie dodawana do znacznika title, będzie to więc wyglądało np. tak:


Testowy temat - Nazwa Forum - Strona 4
Testowy dział - Nazwa Forum - Strona 15
Panel użytkownika - Nazwa Forum
itd.



Aby to zrobić wystarczy użyć modyfikacji:
Przyjazne (SEO) tytuły dla MyBB


Metoda manualna (niezalecane)
Edytujemy plik inc/functions.php.

Linię (~19):
    global $db$lang$theme$plugins$mybb

zamieniamy na:

    global $db$lang$theme$plugins$mybb$page

następnie pod linią (~90):

@header("Content-type: text/html; charset={$lang->settings['charset']}"); 

dodajemy następujący kod:

preg_match('#(.*)#iU'$contents$titleMatch);
if (isset(
$titleMatch[1]))

  
$newTitle $titleMatch[1];
  if (!
strstr($titleMatch[1], $mybb->settings['bbname']))
  {
    
$newTitle .= ' - ' $mybb->settings['bbname'];  
  }

  if (
$page 1)
  {
    
$newTitle .= ' - Strona ' $page;
  }
  
  
$contents str_replace($titleMatch[1], $newTitle$contents);


I to tyle.
Od tego momentu tytuły powinny zawsze zawierać nazwę strony oraz numer z stronnicowania jeżeli takowy istnieje.

Gdybyście napotkali jakieś problemy, piszcie w tym temacie.
Na MyBB PL modyfikacja już wprowadzona :)
Lukasamd, tradycyjnie dobra robota :-) na pewno wiele osób z tego skorzysta, powinno być to w standardzie ;]
Łukasz, może zasugerujesz im poprawki: http://dev.mybb.com/projects/mybb/issues
Zgłosiłem przed chwilą, ale wątpię, aby to dodali - to co tutaj opisałem wymaga modyfikacji kodu wyjściowego, dzięki czemu da się wszystko załatwić w prostą modyfikację tylko 1 pliku. Niemniej parsowanie takie nigdy nie jest najlepszym rozwiązaniem (chociaż w tym wypadku trwa to około 1/10.000 sekundy bez żadnego akceleratora więc z obciążeniem na serwerze chyba problemów nie będzie ;)).
Niemniej najlepiej gdyby to wprowadzić po prostu w każdym szablonie i zapewnić przekazywanie im danych w plikach PHP, a to wymaga co prawda minimalnych zmian, ale jednak w kilku z nich. Wątpię więc aby dodali, bo nie są zbytnio otwarci nawet na zmiany w jednym pliku.
Jak zwykle dobra robota, Łukasz :)
Zawsze można dodać to do polskiej paczki, jeśli nie dodadzą do oficjalnego release.
Długo czekać nie musiałem - odrzucone, zalecają samemu zmodyfikować sobie szablony - tylko nie pomyśleli o tym, że napis "Strona" nie powinien być wyświetlany gdy jesteśmy na stronie pierwszej.
Ehh, jak ja lubię coś u nich :D
Wszystko działa jak należy :) jak już koledzy wspomnieli wyżej jak zawsze dobra robota ;p
Dobra robota.

Pytanie tylko czemu tego nie zrobić pluginem (:.
Np hook global_end i juz nie trzbea by bylo przy aktualizacji grzebac w kodzie.
(28.06.2011, 12:09)Victor napisał(a): Pytanie tylko czemu tego nie zrobić pluginem (:.
Np hook global_end i juz nie trzbea by bylo przy aktualizacji grzebac w kodzie.

Ten hook leży przed miejscem, w którym można w ogóle sprawdzać nr strony / tytuł.
Niemniej wpadłem teraz na inny pomysł z użyciem tego i jeszcze jednego hooka, muszę tylko sprawdzić jak to będzie wyglądało przy włączonym gzipie oraz co z czasem generowania.
Źle się wyraziłem. Sorry.

Miałem na myśli:
pre_output_page
Sam nie wystarczył, ale ostatecznie udało się zrobić z tego plugin ;)
https://webboard.pl/thread-21755.html

Zalecam instalację właśnie wersji pluginu, ponieważ pierwotna wersja ma pewien bug, może zamieniać na zmienioną formę również nazwy tytułów postów.
Mam problem gdy zainstalowałem wtyczkę. z mojej strony zrobiło się to :
[Obrazek: di-08JJ.jpg]
Dobra robota :)
Nie wiem czemu ale u mnie ta modyfikacja nic nie zmienia. Wersja mybb 1.6.2 może dlatego.



Użytkownicy przeglądający ten wątek:

1 gości