router.php i tworzenie prostych SEF adresów
Wyniki 1 do 10 z 10

Temat: router.php i tworzenie prostych SEF adresów

  1. #1
    Przeglądacz
    Dołączył
    03-11-2006
    Wpisy
    44
    Punkty
    10

    Domyślny router.php i tworzenie prostych SEF adresów

    Mam duży problem z ogarnięciem tworzenia prostych adresów. Stworzyłem swój komponent, który działa już jak należy i chcę, aby wykorzystywał możliwości optymalizacji adresów w Joomli! Poczytałem co trzeba, przestudiowałem http://docs.joomla.org/Routing , poszukałem w Google, ale wciąż nie potrafię zaprząc pliku router.php do roboty.

    Struktura adresów w moim komponencie jest następująca:
    - na początku oczywiście option=com_
    - po nim task=.. (może powinien być view, ale dopiero uczyłem się całego podejścia MVC)
    - przy niektórych linkach występuje id=...

    Chciałbym, aby moje linki wyglądały tak /{nazwa komponentu}/{nazwa taska, chyba że defaultowy}/{id, jeśli występuje}
    Kombinowałem z funkcjami BuildRoute i ParseRoute i adresy zmieniają mi się na łatwiejsze, czyli dzielone '/' zamiast '&', ale nie potrafię pozbyć się zbędnych elementów, jak słowo component, przedrostek com_ itp. Czy ktoś jest w stanie w miarę przystępnie wyjaśnić działanie tych funkcji? Niestety we wspomnianym przeze mnie tutorialu nie jest to dokładnie wyjaśnione, napisane są gotowe funkcje, których działania nie rozumiem do końca. Najlepiej, jakby ktoś napisał co powinny zwracać te funkcje, aby uzyskać pożądane efekty, bo argumenty obczaję sobie var_dumpem. Z góry dzięki, myślę, że przyda się niejednemu zagubionemu Joomlamasterowi ;)

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Przeglądacz
    Dołączył
    03-11-2006
    Wpisy
    44
    Punkty
    10

    Domyślny

    W miarę to ogarnąłem, chociaż nie wiem jak się pozbyć segmentu component. W tej chwili moje linki wyglądają tak: /component/{nazwa_komponentu}/[{nazwa_taska}]/[{id}]

    W funkcji BuildRoute wyciągam z zapytania TYLKO zmienne task i id, o ile istnieją i zwracam tablicę segments z nimi. W ParseRoute sprawdzam czy w $segments[0] jest liczba - jeśli tak, przypisuję ją do $vars['id'], w przeciwnym razie $segments[0] ląduje w $vars['task'], a $segments[1] w $vars['id']. Póki co działa, tylko cały czas jest problem z segmentem component w URL-u. Będę wdzięczny za konstruktywną krytykę. Myślę, że nie raz przyda się innym forumowiczom.

  4. #3
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    A standardowy SEF, który oferuje Ci Joomla nie wystarcza?

    Jest mnóstwo rozszerzeń SEF do Joomla- któreś sprawdzałeś?
    Webdeveloper do usług ;)

  5. #4
    Przeglądacz
    Dołączył
    03-11-2006
    Wpisy
    44
    Punkty
    10

    Domyślny

    Standardowy SEF jest włączony, dlatego w ogóle ma to szanse działać. Niestety nie działa to automagicznie i trzeba mu w router.php podać sposób w jaki ma przerabiać linki. Innych rozszerzeń SEF nie próbowałem. Działają istotnie inaczej, niż ten wbudowany?

  6. #5
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    A nie masz czegoś namieszanego z ustawieniami mod_rewrite serwera?

    Tak działają inaczej, mają swoje przekierowania.
    Webdeveloper do usług ;)

  7. #6
    Przeglądacz
    Dołączył
    03-11-2006
    Wpisy
    44
    Punkty
    10

    Domyślny

    W .htaccess dłubię jak najmniej, bo słabo go znam. Już na pewno nic nie mieszałem w części dotyczącej mod_rewrite. Myślałem, że przyczyną może być brak pozycji z tym komponentem w menu (nie jest mi tam potrzebny), ale to jednak nie to. Może masz własne doświadczenia z tworzeniem router.php?

  8. #7
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    Nigdy nie miałem potrzeby dłubać w router.php Joomla, bo mi wszystko działało.
    Webdeveloper do usług ;)

  9. #8
    Przeglądacz
    Dołączył
    03-11-2006
    Wpisy
    44
    Punkty
    10

    Domyślny

    Pisałem komponent od zera i linki nie wyglądały tak jak oczekiwałem, stąd psiałem swój router. Swoją drogą, zobaczyłem jak duże daje możliwości, chociaż nie musiałem ich wykorzystywać. Jedynie tego głupiego component nie mogę wyrzucić, bo nie idzie jako zmienna :]

  10. #9
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 057
    Punkty
    188

    Domyślny

    Może tutaj znajdziesz coś więcej o URLach: http://www.wromanek.info/artykuly/16...la-15-mvc.html.
    Webdeveloper do usług ;)

  11. #10
    Bywalec malkowitch awatar
    Dołączył
    26-02-2008
    Skąd
    Warszawa
    Wpisy
    500
    Punkty
    96

    Domyślny

    przestudiuj sobie 2 rzeczy:
    http://docs.joomla.org/Routing
    i któryś standardowy router np. z com_weblinks

Podobne tematy

  1. działa mi 1/3 prostych adresów!
    przez dawid1081 na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 15
    Ostatni post/autor: 03-02-2010, 23:37
  2. JoomSEF- wyrażenia regularne, 1 adres SEF z 2 adresów non-SEF
    przez moje na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 0
    Ostatni post/autor: 21-06-2009, 16:06
  3. Błąd z router.php
    przez bulion na forum Administracja - ogólne
    Odpowiedzi: 1
    Ostatni post/autor: 01-11-2008, 11:37
  4. J! 1.5.6 problem z router.php
    przez DooBLER na forum Programowanie pod Joomla!
    Odpowiedzi: 0
    Ostatni post/autor: 19-08-2008, 16:03
  5. Tworzenie Adresów URL
    przez mops na forum Administracja Joomla!
    Odpowiedzi: 2
    Ostatni post/autor: 28-10-2007, 18:11

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •