Zobacz pełną wersję : Błędy w witrynie w modułach
Witam. Proszę o pomoc w rozwiązaniu problemu. Dotyczy on błędów w wyświetlanym main menu i jeszcze jednym. Na stronie głownej zamiast wyświetlonych pozycji pojawia się:
"Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/uksadmin/domains/ukssprint.czeka.pl/public_html/libraries/joomla/cache/handler/callback.php on line 99"
natomiast po zalogowaniu w modułach:
"Warning: Parameter 1 to JHTMLGrid::access() expected to be a reference, value given in /home/uksadmin/domains/ukssprint.czeka.pl/public_html/libraries/joomla/html/html.php on line 87"
Z tego względu musiałem wyłączyć te menu.
Na jakim serwerze stoi strona. Błąd najogólniej mówiąc dotyczy nie właściwej wersji php ustawionej na serwerze .Joomla 1.5x nie pracuje z wersją php 5.3 x .Ustaw na niższa ,a komunikat powinien zniknąć .Swoja droga problem był poruszany TUTAJ (http://forum.joomla.pl/showthread.php?32541-Warning-Parameter-1-to-modMainMenuHelper-buildXML%28%29-expected-to-be-a-reference-val)
Rozwiązanie można również "ustawić" np.tutaj
root /modules/mod_mainmenu/helper.php
Można zmienić :
function buildXML(&$params)
na:
function buildXML($params)
Witam. Twoja propozycja ruzwiązania problemu przez zmianę w pliku helper.php pomogła. Wszystkie menu spod mod_mainmenu wyświetlają się na stronie prawidłowo. Jedynie jeszcze w panelu administracyjnym, w zakładce Moduły mam ze sto linii z komunikatem:
Warning: Parameter 1 to JHTMLGrid::access() expected to be a reference, value given in /home/uksadmin/domains/ukssprint.czeka.pl/public_html/libraries/joomla/html/html.php on line 87
Strona stoi na serwerze zhost.pl, ale jaka wersja php - nie mam pojęcia. Nie jestem dobry w te klocki...
Opcje php na serwerze można oszukać w panelu administracyjnym konta gdzieś w zakładkach "zaawansowane" ...ustawienia php dla domeny
Bezpośrednia naprawa to ingerencja:
Edytujesz "html.php" (root/libraries/joomla/html)
Znajdujesz :
$args = func_get_args();
array_shift( $args );
I zamieniasz na :
$temp = func_get_args();
array_shift( $temp );
$args = array();
foreach ($temp as $k => $v) {
$args[] = &$temp[$k];
}
Niestety, po zmianie tego kodu strona się nie wyświatla, tylko komunikat:
Parse error: syntax error, unexpected '=', expecting ')' in /home/uksadmin/domains/ukssprint.czeka.pl/public_html/libraries/joomla/html/html.php on line 88
kod otrzymał postać:
{
$temp = func_get_args();
array_shift( $temp );
$args = array();
foreach ($temp as $k => $v) {
$args[] = &$temp[$k];
}
return call_user_func_array( array( $className, $func ), $args );
}
Może pojawiła się jakaś literówka? Póki co przywróciłem plik do poprzedniej wersji, by stronka działała.
Zmień php na serwerze po co "kombinujesz" . Jeżeli masz z tym kłopoty ,poproś administratora hostingu.
Uaktualnij wersję joomla. Modyfikacja kodu którą podałem działa sprawdziłem na wersji joomla 1.5.26
Przepraszam, że dopiero odpowiadam - natłok obowiązków. Nie znalazłem nigdzie ustawień dotyczących wersji php. Ale to w tej chwili może nie jest tak istotne. Zamierzam w najbliższym czasie uaktualnić joomla, według Twojej sugestii do 1.5.26 a może zrobię migrację do 2.5. W każdym razie dzięki za pomoc.
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!