Problem rozwiązać można w bardzo prosty sposób dodając do kodu skryptu bezwzględną ścieżkę dostępu do pliku. Jest to jednak działanie doraźne, które w przypadku ewentualnej zmiany adresu skryptu będzie wymagać każdorazowo korekty.
Niestety autorzy nie przewidzieli takiego problemu, jednak w związku z faktem, iż moduł dostępny jest w formie otwartego oprogramowania przygotowałem poniższy uzupełniający skrypt dzięki któremu w przyszłości zaoszczędzimy troche czasu.
Skrypt wykonany jest w JavaScript, gdyż jest uzupełnieniem już istniejącego skryptu głównego.
1. Otwieramy plik \modules\mod_slidemenu\ddlevelsfiles\ddlevelsmenu.js
W pierwszej kolejności dodajemy na samym początku w linii mniej więcej 32 poniższy kod:
var strona = self.location.href;
var splits = strona.split("/");
var i = 0;
var adres = "";
while (i < splits.length-1)
{
if(splits[i] != "index.php")
{
var adres = adres+splits[i]+"/";
}
else{
var jestindex = 1;
var adres1 = adres;
}
++i;
}
if(jestindex == 1){
adresok = adres1;
}
else {
adresok = adres;
}
Po poprawnym wklejeniu kodu pozostaje jeszcze dodanie nowej zmiennej modyfikującej adres prowadzący do zmiennej.
Odnajdujemy poniższy fragment kodu, który znajdować się powinien tuż pod wklejonym wcześniej skryptem
arrowpointers:{
downarrow: ["modules/mod_slidemenu/ddlevelsfiles/arrow-down.gif", 11,7], //[path_to_down_arrow, arrowwidth, arrowheight]
rightarrow: ["modules/mod_slidemenu/ddlevelsfiles/arrow-right.gif", 12,12], //[path_to_right_arrow, arrowwidth, arrowheight]
showarrow: {toplevel: true, sublevel: true} //Show arrow images on top level items and sub level items, respectively?
},
Następnie zamieniamy go na:
arrowpointers:{
downarrow: [adresok+"modules/mod_slidemenu/ddlevelsfiles/arrow-down.gif", 11,7], //[path_to_down_arrow, arrowwidth, arrowheight]
rightarrow: [adresok+"modules/mod_slidemenu/ddlevelsfiles/arrow-right.gif", 12,12], //[path_to_right_arrow, arrowwidth, arrowheight]
showarrow: {toplevel: true, sublevel: true} //Show arrow images on top level items and sub level items, respectively?
},
Gdy wykonamy powyższe kroki nie pozostaje nic innego jak tylko poprawne zapisanie zmian, publikacja i odświeżenie strony. Moduł powinien działać poprawnie zarówno w trybie standardowym, oraz w trybie skróconych adresów.
Moduł SlideMenu v2.2 - wersja poprawiona
W testach użyte zostały:
Joomla 1.5.14
SlideMenu