PDA

Zobacz pełną wersję : Błędy w witrynie w modułach



MaroS73
05-10-2013, 19:10
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.

Tor_
05-10-2013, 23:23
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)

MaroS73
06-10-2013, 20:36
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...

Tor_
07-10-2013, 08:57
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];
}

MaroS73
07-10-2013, 18:17
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.

Tor_
07-10-2013, 22:17
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

MaroS73
10-10-2013, 09:22
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.