PDA

Zobacz pełną wersję : Bug w joomla - mainmenu



hazael
01-11-2006, 13:39
W menu joomla jak dodaje pozycje z linkiem zewnetrznym to ten system dopisuje na samym koncu proponowanego adresu &Itemid=X. - jest to bardzo głupi błąd, bo

po pierwsze - nie mogę przez taki haczyk otworzyć zewnętrznej strony z racji takiej, iż taka witryna nie istnieje
po drugie - z tym dodatkiem strony otwierają sie tylko na dynamicznych adresach, jednak dla google i innych wyszukiwarek jest to już inny adres z tą samą zawartoscią strony co adres bez &Itemid - czyli można zastać nagrodzonym przez google banem w zamian za duplicate content (to taka forma spamu)
po trzecie nie podoba mi się coś takiego :mad:Jak temu zapobiec? Ma ktoś jakiś pomysł?

Dla przykładu prosze zwrócić uwagę na zewnętrzne odnośniki w menu głownym do Perfumy na mojej stronie: http://les.piekielko.pl/

hazael
01-11-2006, 19:30
Ok, problem sobie rozwiązałem w troche prymitywny sposób.

Generalnie do linkow zewnetrznych, ktore umiescimy w swoim menu jest przypisywany na ich koncu Itemid (wg id/numeru pozycji adresu, ktory mamy w tabeli #__menu w bazie danych) tylko wtedy, gdy adres posiada w sobie index.php\?

Odpowiada za ten cały bałagan ten króciutki skrypt znajdujący sie w module powiazanym z dowolnym menu (np mod_mainmenu).


case 'url':
if ( eregi( 'index.php\?', $mitem->link ) ) {
if ( !eregi( 'Itemid=', $mitem->link ) ) {
$mitem->link .= '&Itemid='. $mitem->id;
}
}
break;
W zasadzie i tak korzystam z przyjaznych linków mod_rewrite, wiec wystarczyło te index.php\? zamienic na co innego i już jest problem z głowy.

Zauwazyłem, że w tabeli jest rożróznienie na URL, COMPONENTS ITD.. Czy w zwiazku z tym, można za pomocą dodatkowego if'a zrobić wyjątek dla pozycji należących do URL, tak aby nie były dodawane na koncu adresu te Itemid ? Czy ktoś dałby rade wykonać taki wyjątek?