Ostatnio pisałem o kilku podstawowych radach dotyczących modyfikacji stylu forum, ale spotkałem się z innym problemem o nazwie mChat, a mówiąc ogólniej o instalacji ShoutBoxa czy czata na głównej stronie forum. Najpopularniejszą obecnie i jedyną przeze mnie znaną modyfikacją jest właśnie mChat: https://www.phpbb.com/customise/db/mod/mchat_new_version/ lub polska wersja: http://wiki.phpbb3.pl/wiki/MChat_MOD. Postaram się opisać proces jego instalacji w dość przystępny sposób, okraszony przykładowymi grafikami, jak należy sobie z nim poradzić.

  

1. Ściągnięcie

Gdy ściągniemy już modyfikację na dysk i rozpakujemy ją w wybranym przez siebie folderze, pierwszą rzeczą, która nas interesuje, jest plik: install.xml zlokalizowany w głównym folderze modyfikacji.

http://i.imgur.com/WJMoSiG.jpg

Otwieramy go przy pomocy przeglądarki internetowej, nawet IE powinien sobie z tym poradzić. Jeśli poprawnie otworzyliśmy plik powinniśmy ujrzeć mniej więcej coś takiego: 

http://i.imgur.com/AyZUsSU.jpg

  

2. Objaśnienie

W dalszej części pokazane są dwa kluczowe indeksy:

http://i.imgur.com/11DcQ1c.jpg

 Files to Edit – oznacza, co da się łatwo przetłumaczyć, pliki do edycji, czyli które pliki z naszego forum muszą zostać zmodyfikowane, aby modyfikacja w ogóle zadziałała.

Included files – oznacza pliki dodatkowe, stworzone przez twórcę moda, wrócimy do nich pod koniec.

3. Przygotowanie

Skoro wiemy już, jakie pliki musimy zmodyfikować najprościej będzie utworzyć sobie katalog, do którego ściągniemy je razem ze strukturą katalogów. Zapobiegnie to pomyłce przy wrzucaniu ich na serwer. Oczywiście można modyfikować je pojedynczo i od razu wrzucać na serwer, ale nie polecam tej metody. Po stworzeniu katalogów, przy pomocy klienta FTP (Total Commander lub FileZilla) ściągamy odpowiednie pliki do odpowiednich folderów:

http://i.imgur.com/usOFbKS.jpg

 Gdy skompletujemy już wszystkie pliki i katalogi warto jest zrobić kopię folderu, który je zawiera, co w razie jakiś problemów potrafi przywrócić forum do dawnej kondycji.

Uwaga!

Najprawdopodobniej nasze forum nie będzie korzystało domyślnie z języka angielskiego oraz podstawowego stylu, więc pliki:

language/en/common.php

language/en/ucp.php

styles/prosilver/template/editor.js

styles/prosilver/template/index_body.html

styles/prosilver/template/overall_header.html

styles/prosilver/theme/stylesheet.css

Musimy ściągnąć ze ścieżek domyślnych dla naszego języka i docelowego stylu, tak więc foldery powinny wyglądać tak:

language/pl/common.php

language/pl/ucp.php

styles/nazwa_naszego_stylu/template/editor.js

styles/ nazwa_naszego_stylu /template/index_body.html

styles/ nazwa_naszego_stylu /template/overall_header.html

styles/ nazwa_naszego_stylu /theme/stylesheet.css

*  gdzie w nazwa_naszego_stylu, wpisujemy nazwę folderu naszego stylu.

4. Edycja

Zanim zaczniemy edytować pliki istotne jest, żeby skrupulatnie trzymać się instrukcji, w większości przypadków zachowanie odpowiedniego położenia wpisów jest kluczowe! Instrukcja zawsze wyznacza linijkę, lub linijki (nawet pojedynczy samotny znak jest szalenie istotny) względem, których umieszczony zostanie kod. Wyróżniamy trzy główne instrukcje informujące o miejscu umieszczenia nowych linijek w kodzie:

- Add after – czyli nowe linijki kodu umieszczamy w nowej linii ZA cytowaną ostatnią linijką.

- Add before – nowe linijki kodu umieszczamy w nowej linii PRZED cytowaną pierwszą linijką.

- Replace with – Nowe linijki kodu muszą W PEŁNI ZASTĄPIĆ cytowane linijki.

Spróbuję pokazać każdą z tych instrukcji na osobnym przykładzie. Idealnym narzędziem do tego celu będzie Notepad++, wymieniany przeze mnie w poprzednim artykule, który jest praktycznie stworzony do edytowania kodu.

Najpierw instrukcja, której budowę też trochę opiszę:

http://i.imgur.com/kCSWhdM.jpg

Na czerwono, oznaczyłem informację o tym, który plik mamy aktualnie edytować, często zdarza się, że jeden plik zawiera kilka edycji.

Na niebiesko, standardowa komenda informująca nas, że linijkę poniżej należy odszukać.

Na fioletowo, treść linijki do skopiowania i odszukania w powyżej podanym pliku.

Błękit oznacza aktualną instrukcję, do której musimy się zastosować.

Brąz oznacza linijki, które musimy skopiować do wskazanego pliku w sposób ustalony przez instrukcję.

Wiedząc już, w jakim pliku, co musimy znaleźć i jak w nim umieścić, otwieramy go i przechodzimy do szukania linijki. Mając plik otwarty przed sobą w programie NotePad++ (lub jakiś inny) wciskamy kombinację klawiszy Ctrl+f lub przez polecenie Szukaj->Szukaj:

 http://i.imgur.com/jOqkcFE.jpg

 Uwaga!

Bardzo często zdarza się, że nie możemy odnaleźć danej linijki nie tyle przez fakt, że otworzyliśmy zły plik, co nie zawsze zachowana jest ilość spacji w kodowanej linijce, jeśli więc nie udaje się odszukać, należy pominąć spacje i szukać jedynie po treści. Kolejnym problemem jest brak zgodności wpisów w plikach stylów oraz językowych, jeśli nie korzystamy z domyślnych, tym zajmę się w dalszej części. Druga uwaga dotycząca wyszukiwania. Program ma problem z wyszukiwaniem zapytań kilku linijkowych, wtedy używamy zaledwie jednej z nich (najlepiej najdłuższej) i sprawdzamy czy pozostałe w sąsiedztwie się zgadzają.

Pamiętając, że nasza instrukcja brzmi „Add after” umieszczamy nowe linijki, linijkę pod wyszukiwaną (do nowej linii przechodzimy enterem):

http://i.imgur.com/Z0hpagy.jpg

Teraz czas na przykład z instrukcją „Add before”. Najpierw zaczynamy od sprawdzenia pliku i wyszukania odpowiedniej linijki:

http://i.imgur.com/dtR43J9.jpg

Jako, że mam dwie linijki do skopiowania wybieram dłuższą lub bardziej znaczącą, tym razem weźmy: „page_header($user->lang['INDEX']);

http://i.imgur.com/QBw6Xbr.jpg

Jak widać wszystko się zgadza, gdyż linijka wyżej zgodnie z instrukcją ma wartość: „// Output page” Następnie trzymając się polecenia „Add before” umieszczamy nowe linijki przed pierwszą cytowaną linijką ( nie mylić tego z pojedynczą linijką, według której szukaliśmy, tylko pokazanej w instrukcji, w tym przypadku przed linijką „// Output page”)

http://i.imgur.com/wKkFNIk.jpg

Ostatnim typem operacji jest „Replace with”, jest o tyle łatwiejsza od pozostałych, że nie musimy pamiętać czy linijki mamy dodać przed lub za, a po prostu zastąpić cytowaną całość.

http://i.imgur.com/Sz1SzQJ.jpg

Ponownie szukamy po najdłuższej linijce (celowo użyłem pliku "editor.js" z innego stylu, jako przykład edytowania własnego, a nie domyślnego):

http://i.imgur.com/OyDjmlj.jpg

Następnie zaznaczając już w całości podany w instrukcji tekst, zamieniamy go na właściwe linijki podane przez modyfikację:

http://i.imgur.com/esNYR27.jpg

Wydawałoby się, że to już wszystko na temat edycji, jednak nie jest tak do końca. Problemy występują w plikach językowych* lecz na to akurat jest prosta rada, wystarczy wyszukiwać przez pierwsze części linijek językowych np. zamiast wyszukiwać :

'NEW_POSTS_HOT'                              => 'Nowe posty [ Popularny ]',” wyszukujemy tylko jego anielską część czyli: „'NEW_POSTS_HOT'”

* Podany powyżej problem nie dotyczy mChata i prawdopodobnie, żadnego moda, który był tworzony w dosyć logiczny sposób, gdyż nie trzeba odwoływać się do konkretnych linijek, a ostatniego znaku, ponieważ kolejność wpisów w pliku językowym nie jest istotna.

Znacznie powszechniejszym i na pewno występującym w mChacie problemem jest jego ułożenie w stylu. Najczęściej podane przez instrukcje linie nie istnieją i nie mamy pojęcia, gdzie powinniśmy dodać brakujące linijki. Na pocieszenie dodam, że głównie chodzi o te mniej istotne części kodu, takie jak ikonki, krótkie odnośniki do mChata czy statystyki obok listy urodzin, bez których można spokojnie żyć. Z tego, co zauważyłem na kilku forach największym dramatem, szczególnie w starszych stylach, jest wpis: „@import url("mchat.css");” w pliku "styles/nazwa_twojego_stylu /theme/stylesheet.css". Duża część stylów nie posiada w ogóle funkcji import, a bez tego wpisu mChat po prostu się rozjedzie zapominając, czym jest scrollowanie. Są dwie metody, żeby temu zapobiec, pierwsza z nich działa w połowie przypadków, druga bardziej ekstremalna działa zawsze.

Jeśli nasz plik "stylesheet.css" nie posiada funkcji import, możemy spróbować mu ową funkcję dodać wpisując ją w pierwszą linijkę po komentarzu wstępnym (oznaczyłem go czerwonym polem):

http://i.imgur.com/Yiy2dI8.jpg

 http://i.imgur.com/iV38TYy.jpg

Jeśli ta metoda dalej nie przynosi żadnego rezultatu, musimy sięgnąć po środki ostateczne, niepolecane nawet przez samego autora modyfikacji, który określa je, jako redundantne, na szczęście ono zawsze skutkuje.

Otwieramy wcześniej przez nas edytowany plik:

"styles/nazwa_twojego_stylu/template/overall_header.html"

I odszukujemy dodaną, przez nas samych, według wcześniejszych instrukcji linijkę:

<!-- IF S_MCHAT_ENABLE and (S_MCHAT_ON_INDEX or U_MCHAT) -->

Zaraz pod nią umieszczamy nową:

<link href="{T_THEME_PATH}/mchat.css" rel="stylesheet" type="text/css" />

http://i.imgur.com/QKDpIxN.jpg

Dla porządku tylko muszę zaznaczyć, że ta metoda uniemożliwia automatyczne przystosowanie mChata do stylu, więc kolory będziemy musieli edytować sami. Jak to zrobić opisałem w poprzednim artykule, dla podpowiedzi dodam, że chodzi o plik mchat.css.

To byłby koniec, jeśli idzie o najtrudniejszą i najdłuższą część instalowania mChata na własnym forum, dalej jest już z górki.

  

5. Wysyłanie

Gdy cała edycja jest już zakończona musimy wysłać pliki na serwer przy pomocy klienta FTP. Musimy pamiętać, że oprócz plików edytowanych, wysłać trzeba również te wymienione w drugim indeksie, czyli „Included files”, znajdują się one w katalogu „root”:

http://i.imgur.com/gJL6xxs.jpg

Pamiętajmy, że na serwer musimy wysłać zawartość tego katalogu do głównego katalogu forum, a nie jego samego w całości (tak widziałem, zdarza się i to):

http://i.imgur.com/J409L6q.jpg

Uwaga! 

Podobnie jak w przypadku ściągania plików do edycji nie możemy zapomnieć o plikach do wysłania i poprawnie umieścić je w katalogach językowych i naszego stylu.

/language/ - upewnijmy się, że pliki z folderu en, trafią do folderu pl lub stwórzmy kopie katalogu en o nazwie pl (nie dotyczy polskiej wersji)

/styles/prosilver/ - tutaj zamiast "prosilver" uzyjemy katalogu z naszym stylem, więc pliki z katalogu prosilver powinny wylądować w : /styles/nazwa_twojego_stylu/

6. Instrukcje końcowe

http://i.imgur.com/eWmzR5m.jpg

 Na koniec wystarczy zastosować się do instrukcji końcowych. Jeśli jesteśmy zalogowani jako admin forum przechodzimy pod adres (w przeciwnym wypadku strona poprosi żeby się zalogować): http://www.twojeforum.pl/mchat_install.php

http://i.imgur.com/icZ5azp.jpg

Wasz ekran będzie nieco inny od tutaj przedstawionego, gdyż byłem zbyt leniwy, żeby stawiać przykładowe forum i instalować skrypt na golasie. Tak czy inaczej najprawdopodobniej zaatakuje was informacja, że mod o nazwie UMIL jest nieaktualny. Dla świętego spokoju, można przejść pod podany przez stronę link i ściągnąć jego najnowszą wersję. Jego instalacja jest o tyle prosta, że wystarczy przesłać folder UMIL (znajdujący się w folderze root) do głównego folderu forum (na 99% ten folder już na forum będzie) i zastąpić go najnowszą wersją. Wtedy po odświeżeniu, przerażający komunikat powinien zniknąć. Następnie wystarczy upewnić się, że wybraliśmy opcję „instaluj” i wcisnąć „wyślij” po chwili powinniśmy dostać komunikat, że wszystko przebiegło pomyślnie. Dalej wystarczy już w panelu administracyjnym wyczyścić bufor lub cache (zależnie od tłumaczenia), na głównej stronie panelu i przejść do ustawień samego moda:

http://i.imgur.com/7iU81ap.jpg

  

W zakładce Użytkownicy i grupy, można także ustawić uprawnienia, komu wolno lub nie wolno mieć dostępu do mChata (jeśli jesteście pewni, że wszystkie kroki wykonaliście poprawnie i nie widzicie SB to najpewniej problem tkwi w ustawieniach uprawnień). Nie zapomnijcie też po instalacji usunąć pliku mchta_install.php z głównego folderu forum

Mam nadzieję, że ten tekst pozwoli komuś zainstalować mChata na własną rękę, jak widać cała operacja nie jest wcale tak trudna jak mogłoby się wydawać.

Otorek

Additional Info

  • Data publikacji: Niedziela, 24 Luty 2013

Biorą udział w konwersacji

Komentarze (3)

Dodaj komentarz