PDA

Zobacz pełną wersję : Proste adresy i podswietlenie aktywnej pozycji menu



berek22
03-06-2010, 16:54
Witam,
po włączeniu w konfiguracji joomla prostych adresów i korzystanie z mod_rewrite aktywne pozycje menu nie podświetlają się, jedynie strona główna i galeria (joomgallery z router.php) są podświetlone. Komponent flexi_contact nie wyświetla się poprawnie :obojetny:
strona z włączonym SEF: http://piotrtabis.com/page/ - błędne działanie
strona z wyłączonym SEF http://piotrtabis.com/ - wyświetlanie prawidłowe
plik .htaccess:

##
# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $
# @package Joomla
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


################################################## ###
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations. It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file. If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's. If they work,
# it has been set by your server administrator and you do not need it set here.
#
################################################## ###

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
# mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
## Deny access to extension xml files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension xml files
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a ********** tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root)

RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
AddHandler application/x-httpd-php5 .php

mjmartino
04-06-2010, 12:03
Co masz na myśli pisząc nie podświetlają się ?
A po kliknięciu jaki widzisz adres ? *.html czy inny ?
Hosting na którym masz stronę to ?

berek22
06-06-2010, 01:36
Pisząc nie podświetlają się mam na myśli to, że każda z pozycji menu ma właściwość hover i active. Jeśli dana pozycja menu jest aktywna to jej tło ma być żółte tak samo jak w momencie najechania na nią myszką, a jeśli nie jest aktywna to ma mieć czarne tło. Nie używam przyrostka .html w adresach wzyorzystuję mode rewrite i adresy maja postać piotrtabis.com/galeria itd. Hosting to superhost.pl
Zauważyłem, że usuwając pozycje z menu i dodając nową kierującą do tego samego artykułu (jako ostatnia pozycja menu) podświetlanie aktywnej pozycji menu działa prawidłowo, do momentu, w którym posortuje wszystkie pozycje menu w taką kolejność jak na początku. :podstep:

mjmartino
06-06-2010, 09:46
Masz jakiś komponent od cache ? jeśli tak wyczyść cache
Wyczyść cache przeglądarki

berek22
06-06-2010, 15:19
Nie posiadam żadnych komponentów do cache, problem pojawia się również w tłumaczeniu adresu komponentu flexi contacts. Przy prostych adresach nie działa i wyświetla zupełnie inne dane, będę musiał chyba zainstalować jakiś komponent do sef. Szkoda, że większość jest płatna :(

lsz
06-06-2010, 23:20
Wyczyść cache przeglądarki, lub wejdź na stronę z innej. Jeżeli to nie pomoże, to będzie się myśleć.

berek22
06-06-2010, 23:39
To nie była wina przeglądarek ani cache'u. Po odkryciu tego, że pewne pozycje menu się podświetlały, a inne nie zacząłem sprawdzać czym różnią się jedne pozycje menu od drugich i okazało się, że po wprowadzeniu innych aliasów niż te domyślne (nazwa pozycji menu) problem zniknął. Pomimo tego, że rozwiązałem swój problem chciałbym zapytać, czy ktoś orientuje się dlaczego tak się dzieje? Czy usuwając pozycje z menu nie jest usuwany odpowiedni wpis w bazie? Z tego wynika, ze np. tworząc testową wersje strony z pozycjami menu
test 1
test 2
i późniejszym ich usunięciu i dodaniu raz jeszcze pozycji o tych samych nazwach i wskazujących na te same artykuły bądź komponenty otrzymamy podobną sytuację jak u mnie.

greg11
22-07-2010, 12:25
Proszę o pomoc. U mnie również nie podświetla się menu po ustawieniu parametrów Krótkie adresy, Korzystaj z mod_rewrite i adresy z przyrostkiem. Niestety wprowadzenie innych niż domyśłne aliasów w menu nic nie dało. Najgorsze jest to, że po przywróceniu powyższych parametrów porzedniego stanu i zmienie pliku .htaccess na htaccess.txt nadal nie działa poświetlenie wybranych punktów menu. Poświetlony jest zawsze tylko jeden punkt.

moje
22-07-2010, 12:37
Link do strony? Co jest owym punktem?

berek22
22-07-2010, 14:14
Spróbuj dodać zupełnie nową pozycję do menu wskazującą na nowy artykuł i zobacz czy wtedy się podświetla

zwiastun
22-07-2010, 14:28
"Niepodświetlanie" aktywnych pozycji menu nie ma nic wspólnego z prostymi adresami. Natomiast i owszem, problem może tkwić w aliasach, bo to aliasy są elementem identyfikującym pozycję menu. Jeśli nie usuniesz kompletnie testowych pozycji menu czy będziesz mieć więcej takich samych aliasów, może się zdarzyć (choć nie powinna) podobna sytuacja.

greg11
27-07-2010, 09:51
Usunąłem wszystkie nieaktywne punkty menu (również z kosza) i dopisałem cyfrę 1 do wszystkich aliasów w menu (aby różniły się od nazw w menu tak jak to zrobił berek22). Sprawdziłem raz jeszcze i na 100% nie ma takiej sytuacji, że powtarzają się aliasy w menu. Nadal jednak bez efektu - podświetlona na czerwono jest tylko startowa pozycja w menu. Kliknięcie w inną pozycje menu nie powoduje , że zostaje ona podświetlona. Problem pojawił się po zmianach parametrów dot. krótkich adresów dlatego skojarzyłem błąd z tymi ustawieniami.

zwiastun
27-07-2010, 10:54
W "ciemno" nikt Ci nic sensownego nie wymyśli. Adres strony?

greg11
27-07-2010, 11:06
wielkie dzięki za zainteresowanie, adres: www.matesoft.pl (http://www.matesoft.pl)

zwiastun
27-07-2010, 12:06
1. Nie masz włączonych prostych adresów, więc czemu zakładasz, że to jest źródło problemu.
2. Rzeczywiście, dziwnie się zachowuje to Twoje menu, ale czy nie jest to kwestia ustawień modułu?
3. Jak to wygląda po przełączeniu na szablon Milkyway?

greg11
27-07-2010, 13:02
281828172816
2. załączyłem ustawienia modułu MainMenu

---------- Post dodany o 11:02 ---------- Poprzedni post był o 10:58 ----------

1. Pisałeś wcześniej, że krótkie adresy nie mają związku z błedem w menu i pewnie tak jest. Pewnie jakies moje wcześniejsze zmiany spowodowały problem a nie krótkie adresy ale dopiero po tych zmianach to zauważyłem.
3.Przełączyłem na Milkyway - teraz nawet domyślnej pozycji menu nie podświetla.

a_m
27-07-2010, 13:08
Przełączyłem na Milkyway - teraz nawet domyślnej pozycji menu nie podświetla i nie musi; zobacz jakie klasy są generowane dla przycisku, który powinien być aktywny

GrandBB
09-08-2010, 08:55
Witam. To jest mój pierwszy post. Widzę, że dość stare wypowiedzi ale pomogę może tym mniej obrytym w joomli. Jak kolega wyżej wspomniał należy oczyścić cache. Zrób tak jak poniżej:

INSTRUKCJA_1:
1. Przejdź do: Narzędzia -> Pamięć podręczna.
2. Zaznacz wszystkie pozycje jakie tam są i je najzwyczajniej w świecie: USUŃ.
3. Przejdź na stronę główną swojej strony i sprawdź jak działa Menu.

Jeżeli wszystko jest okej oznacza to, że sesja była zapisana do pliku jednorazowo. Jeśli natomiast sytuacja niedziałającego menu dalej się powtarza wówczas wiemy już na 100%, że przyczyna tkwi w konfiguracji zaplecza.

1. Przejdź na stronę główną konfiguracji Joomla: Witryna -> Konfiguracja, sekcja: System.
2. Po prawej stronie znajdź: Pamięć podręczna,
3. Wybierz kolejno ustawienia: Nie, 0 minut, Plik.
4. Zatwierdź i zapisz wszystkie ustawienia, po czym spróbuj ponownie wykonać wszystkie kroki z INSTRUKCJI_1.

Wszystko powinno wrócić do normy. Przy takiej głębszej konfiguracji zaplecza można nabawić się nerwówki, więc najpierw polecam przeczytać dobry poradnik: "Jak poprawnie Administrować zaplecze Joomli?" albo inne podobne tytuły.