Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wielowymiarowa tablica kilka pytań
Forum PHP.pl > Forum > PHP
pain3hp
chce zrobić menu a linki i ich nazwy mieć w tablicy, najpierw określe nazewnictwo
<a href="link">nazwa</a>

tablica prosta czyli 'index' => 'główna', 'formularz' => 'kontakt', się nie sprawdza bo jeśli jestem na poziomie strony głównej i wybiorę kontakt to przenosi mnie do /formularz/ a gdy potem znowu klikam kontakt to link się robi /formularz/formularz i tak dalej

NIE CHCĘ WYŁĄCZAĆ MOŻLIWOŚCI KLIKNIĘCIA W PODSTRONĘ NA KTÓREJ SIĘ ZNAJDUJĘ

czy w ogóle można to zrobić w tablicy?

pisze w kohanie a w tutorialu widziałem coś takiego
  1. 0 => array('name' => 'Home', 'link' => 'index'),
  2. 1 => array('name' => 'Colaboration', 'link' => 'colaboration'),
  3. 2 => array('name' => 'Profile', 'link' => 'profile'),
  4. 3 => array('name' => 'Career', 'link' => 'career'),
  5. 4 => array('name' => 'Contact', 'link' => 'contact'));
skowron-line
Pokaż jak linki składasz, bo najprawdopodobniej tam masz błąd.
lukaskolista
Cytat
tablica prosta czyli 'index' => 'główna', 'formularz' => 'kontakt', się nie sprawdza bo jeśli jestem na poziomie strony głównej i wybiorę kontakt to przenosi mnie do /formularz/ a gdy potem znowu klikam kontakt to link się robi /formularz/formularz i tak dalej
formularz/formularz/formularz wynika z tego, ze przegladarka nie wie, ze uzywasz akurat kohany i ze to jest nazwa kontrolera. Po to jest url::base(), zeby zamiast
  1. echo '<a href="kontroler/akcja">cos tam</a>';
robic
  1. echo '<a href="'.url::base().'kontroler/akcja">cos tam</a>';
i wtedy bedzie dobrze dzialac. Swoja droga mozesz tez uzyc helpera html, a dokladnie html::anchor();
pain3hp
dzieki za pomoc smile.gif
phpion
Cytat(lukaskolista @ 23.12.2010, 12:25:21 ) *
robic
  1. echo '<a href="'.url::base().'kontroler/akcja">cos tam</a>';
i wtedy bedzie dobrze dzialac. Swoja droga mozesz tez uzyc helpera html, a dokladnie html::anchor();

Najlepiej byłoby skorzystać z html::anchor(). Można również zamiast:
  1. echo '<a href="'.url::base().'kontroler/akcja">cos tam</a>';

skorzystać z:
  1. echo '<a href="'.url::site('kontroler/akcja').'">cos tam</a>';

Dlaczego url::base() jest w tym przypadku złe? Bo takie tworzenie nie uwzględnia np. użycia sufiksu (.html).
lukaskolista
Cytat(phpion @ 23.12.2010, 13:05:50 ) *
Dlaczego url::base() jest w tym przypadku złe? Bo takie tworzenie nie uwzględnia np. użycia sufiksu (.html).

Znasz framework kohana? Bo z tego, co napisales wynika, ze nie, a on korzysta wlasnie z tego frameworka

  1. echo url::base();

w przypadku ustawienia katalogu projektu na 'home' i odpalenia skryptu lokalnie wyswietli http://localhost/home. url::base() jest jak najbardziej wskazane, inaczej Twoje linki nie beda mialy sensu (z reszta przekonales sie o tym)

phpion
W kohana nie ma sufixow .html smile.gif adresy buduje sie na zasadzie: adres skryptu/kontroler/akcja, np. http://localhost/home/wiadomosci/odebrane, gdzie http://localhost/home/ to adres skryptu, nie ma zadnych sufixow.
pain3hp
dzięki za informacje, wszystko sie przydało ale wykorzystałem url::site z sufixami htmla, właściwie to są one po coś niż tylko by link fajniej wyglądał ?
lukaskolista
url::site() wykorzystuje url::base() i dolacza do niego podany argument smile.gif sufixy sa po to, zeby fajnie wygladalo? Mi sie bardziej podoba bez, ale to moja subiektywna opinia, kazdy ma swoja.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.