Joomla! 1.6 na home.pl

network-errorNie tak dawno w artykule "Joomla! i MySQL na home.pl" pisałem o problemach z MySQL na serwerach home.pl. W połowie marca ukazała się informacja, że dostępny jest już pakiet języka polskiego dla Joomla! 1.6. Nie pozostaje nic innego jak dogłębne zapoznanie się z nową wersją i przetestowanie jej w działaniu.

Zabieram się do pracy: pobieram najnowszą wersję Joomla! 1.6, instaluję na serwerze lokalnym, sprawdzam testuję, instaluję  - wszystko ekstra, ładnie pięknie! Instaluję pakiet języka polskiego dla Jooml! 1.6, tworzę testową templatkę - działa, wszystko chodzi perfect :-)

Pora na testy w środowisku produkcyjnym - wrzucam pliki na home.pl, tworzę nową bazkę, wstukuję odpowiedni adres i ... ZNOWU ZONK :-(

Warning: strpos() [function.strpos]: Empty delimiter in /libraries/joomla/filesystem/path.php on line 148

Kolejny problem :-( Czy ten home.pl jest zbyt nowoczesny/przestarzały, czy może nie reaguje na zgłoszenia od webmasterów którzy próbują bezskutecznie zainstalować najnowszą wersję swojego ukochanego CMS-a?

Jak wynika z komunikatu błędu, problem tkwi w pliku path.php, który znajduje się w /libraries/joomla/filesystem. "Chwilę" czasu zajęło mi googlowanie, aby znaleźć przyczynę problemu. Rozwiązanie znalazłem na polskim form joomla. Okazuje się, że system CMS-a niewłaściwie interpretuje ścieżki (JPATH_ROOT). Nie wiem, czy "wina" tkwi w home.pl, czy w kodzie Jomla! Mam tylko nadzieję, że po instalacji dodatkowych rozszerzeń nie pojawią się kolejne problemy :-]

No więc co należy zrobić, aby instalacja sie udała? Należy dokonać zmian w funkcji clean - dokładnie w wierszu 169. Cała funkcja wygląda tak:

public static function clean($path, $ds = DIRECTORY_SEPARATOR){   $path = trim($path);   if (empty($path)) {      $path = JPATH_ROOT;    } else {      // Remove double slashes and backslahses and convert all slashes and backslashes to DS      $path = preg_replace('#[/\\\\]+#', $ds, $path);   }   return $path;}

 

Należy zmieńić wpis: $path = JPATH_ROOT; na: $path = '/';

Teraz funkcja clean powinna wyglądać tak:

public static function clean($path, $ds = DIRECTORY_SEPARATOR){   $path = trim($path);   if (empty($path)) {      $path = '/';    } else {      // Remove double slashes and backslahses and convert all slashes and backslashes to DS      $path = preg_replace('#[/\\\\]+#', $ds, $path);   }   return $path;}

Zmieniłem i szczęśliwie zainstalowałem. Niestety to nie koniec kłopotów :-( Po instalacji nie mogę wejść na zaplecze nowo utworzonego serwisu! Strona logowania do zaplecza wyświetla się prawidłowo, ale po wpisaniu nazwy użytkownika i hasła przeglądarka wyświetla:

404 - Nie znaleziono komponentu

No to szukamy dalej... :-]

Aby można było dostać się do zaplecza należy w pliku configuration.php zmienić parametr live_site. Domyślnie w linii 17 jest wpis:

public $live_site = '';

należy go zmienić na:

public $live_site = 'http://www.twojadomena.pl/';

I TERAZ JUŻ WSZYSTKO JEST OK! Przy najmniej na razie ;-)

 

Uważasz, że artykuł był ciekawy i chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?
Wpisz swoje imię oraz adres e-mail a następnie kliknij "ZAPISZ MNIE"

Twoje imię:


Adres email:


Jak nauczyć innych, by cenili Twój czas?
System nawigacji

Podobne wpisy

 

    By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/