PDA

Zobacz pełną wersję : Strona błędu przy kategorii kontaktów



fionads
08-07-2015, 14:33
Witam!

Mam problem związany z wyświetlaniem się strony błędu przy kliknięciu kategorii kontaktów. Pokrótce opiszę sytuację i okoliczności:
- Chciałam osiągnąć w pełni funkcjonalny formularz kontaktowy z wyborem osoby, do której chce się napisać (opis formularza + wybór kontaktu z rozwijanej listy + formularz kontaktowy na jednej stronie). Udało mi się to osiągnąć dzięki:
- podpięciu każdego kontaktu (załóżmy KontaktA, KontaktB) do grupy kontaktów (załóżmy GKontakty);
- utworzeniu pozycji menu (załóżmy SkontaktujSie) z typem: Pojedynczy kontakt;
- wybraniem jako "domyślnego" kontaktu (Wybierz kontakt:) KontaktuA;
Strona wygląda i funkcjonuje tak jak powinna na tym etapie tworzenia - po wybraniu konkretnego kontaktu - wysyła list tam, gdzie powinna (wymaga jeszcze nadpisania wyglądu, ale nie o tym).
- Podczas wybierania z listy rozwijalnej kontaktu innego niż domyślny (KontaktB) strona się przeładowuje - jest to potrzebne, żeby zmienić adresata.
- Podczas przeładowywania zmienia się ścieżka powrotu, dodająć dodatkowe poziomy - grupy kontaktów i kontaktu (np. z "Okruszekstartowy->SkontaktujSie" na "Okruszekstartowy->SkontaktujSie->GKontakty->KontaktB"). Co samo w sobie nie wygląda źle, ale chciałabym uniknąć tego poziomu.
- Kiedy ciekawski użytkownik kliknie na GKontakty to strona przeładowuje się
- ma adres mojawitryna.pl/index.php/skontaktujsie/20-gkontakty/2-kontaktB gdzie numerki są odpowiednikami ID elementów;
- wyświetla komunikat błędu "jos-Error: Kontaktu nie znaleziono" gdzie informacja o błędzie znajduje się w tłumaczeniu pod etykietą COM_CONTACT_ERROR_CONTACT_NOT_FOUND .

Mój problem jest taki, że chciałabym uniknąć wyświetlania tego błędu. Jakie widzę drogi rozwiązania:
- Napisanie funkcji php (np. w error.php), która wykrywa występowanie tego konkretnego błędu i pozwala np. na przekierowanie na stronę startową - nie wiem tylko jakich odwołań użyć ani czy "sięDa".
- Wyłączenie wyświetlania w ścieżce powrotu grup kontaktów (sprawdzałam opcje w konfiguracji globalnej i grupy kontaktów, ale nic nie dają).
- Ustawienie konkretnie temu jednemu linkowi w css:hidden (czy "sięDa" w php nadać klasę wyszukująć po wartości href?).

Jeśli ktokolwiek widzi konktetne rozwiązanie (wie jaką funkcję tu mniej więcej zastosować), miał podobny problem i go rozwiązał, albo wie jak to inaczej naprawić - proszę o odpowiedź.

fionads
08-07-2015, 19:44
Udało mi się rozwiązać sposobem trzecim (może nie jest najlepszy, ale u mnie działa). Wymagało dodania skryptu:

jQuery(document).ready(function(){
//znalezienie linku po koncowce//
var gKontakty = $('a[href$="skontaktujsie/20-gkontakty"]');
//znalezienie rodzica linka*//
var gKontaktyRodzic = gKontakty.parent();
//dodanie klasy rodzicowi//
gKontaktyRodzic.attr( "class", "ukrytaGrupa" );
}); i w arkuszu styli kilku linii:

.ukrytaGrupa {
display: none;
}
/*/ Musiałam wyszukiwać po rodzicu, inaczej wyświetlałoby mi dwa span-divider'y ("Okruszekstartowy->SkontaktujSie->->KontaktB").

Jeśli ktoś znajdzie ciekawszy i lepszy sposób, dajcie znać!