![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Czytałem kurs Rikk'a ale nic ciekawego tam nie znalazłem.
Dla mnie przykłady nie są dobre, za bardzo są ukierunkowane na jedną rzecz. Jeszcze znalzłem kurs Groadina, ale tam też nie mogę znaleźć tego co potrzebuje. Z PHP5 u mnie nie najlepiej ale próbuje się dokształcać. (ciąg dalszy w drugiej mojej odpowiedzi) Ten post edytował Tom+ 23.03.2007, 18:29:29 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
zrób tak jak ktoś na tym forum że parsowanie szablonu daj w destruktorze klasy i będzie za każdym razem ten sam szablon
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
nadal nie rozumie, ale dobra ...
zadam pytanie inaczej. przedstawiam fragment kontrolera CI Styl jest w layout, ale nie w tym rzecz.
w tej postaci adres mi wygląda w ten sposób www.strona.pl/pl/ a kolejna www.strona.pl/pl/stronka/ niby dobrze niby fajnie, ale coś mi tu nie pasuje. za każdym razem kiedy dodaje nową stronę to musiałbym edytować ten kontroler i dodawać funkcje. Jest to nie wygodne. Więc pytanie: Jak zrobić aby za każdym razem wpisując za /stronka/ inną nazwę pliku który jest w tym samym katalogu się wyświetlał ? |
|
|
![]()
Post
#4
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
ale wpisując cokolwiek po stronka to nie odpali innej metody kontrolera, bądź innego kontrolera tylko metode stronka a reszta to będą parametry dostepne przez uri...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
tak, zgadza się. Ja to wiem.
tylko chce własnie rozwiązanie takie ze jak wpisze cokolwiek co istnieje pod /stronka to się wyswietli co zrobić aby ta 'stronka' stala sie parametrem i jak go odczytac, aby mozna bylo go zastosowac w kontrolerze ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
zapoznaj się z przewodnikiem CI i poszukaj co to routing - to powinno rozwiązać Twoje problemy
-------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
jakbys się prościej wysławiał to może dało by się coś zrobić, a tak ciężko zrozumiec o co ci w ogóle chodzi.
www.strona.pl/pl/stronka $stronka = $this->uri->segment(2); poza tym: routing + dynamiczne generowanie tej zawartosci. -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Okej, to powiem jeszcze raz.
w CI jest coś takiego jak Controller oraz Views żeby pokazać stronkę w postaci adresu www.strona.pl/pl/stronka trzeba w C dodac plik pl.php a w nim funkcja stronka() oraz zadając pytanie. Jak mam zrobić aby 'stronka' była zmienną. aby działała taka funkcja
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
czytałeś user_guide'a od CodeIgniter'a? bo coś mi się widzi, że albo nie, albo nie znasz dobrze angielskiego, bo tam wszystko pięknie opisane jest
normalnie: www.mojastrona.pl/klasa/funkcja/zmienna ustawiasz: $route['cos/zmienna']='klasa/funkcja'; wynik: www.mojastrona.pl/cos/zmienna powoduje wywołanie klasy "klasa", w niej funkcji "funkcja" z parametrem "zmienna" analogicznie u ciebie: normalnie: www.mojastrona.pl/pl/stronka ustawiasz: $route['pl/:any']='pl/index'; wynik: www.mojastrona.pl/pl/tescik spowoduje wywołanie klasy "pl", w niej funkcji "index" z parametrem "tescik" nie da się tego prościej wytłumaczyć ![]() -------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
plik routes.php
plik /controller/pl.php
gdzie layout to plik w Views z szablonem. gdy wpisuje www.strona.pl/pl/cokolwiekcoistniejewviews i nie mam błąd 404 i odpowiedź strona cokolwiekcoistniejewviews.php nie isnieje Czy czytałem dokumentacje ? i tak, i nie. - nie wszystko co tam pisze potrafię zastosować, albo logicznie wyciągnąć z nich jakiś wniosków. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie istnieje, bo go nie masz - to Twój nowy widok - stwórz ten plik i zobacz czy działa
a działa na pewno - teraz nie musisz edytować kontrolera - po prostu dla każdej nowej stronki tworzysz nowy widok - przecież o to Ci właśnie chodziło, prawda? -------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Tak, tworze widoki,
w katalogu views mam kilka plików które powinien wyświetlić jeżeli nadal będę stosował
działa wszystko www.strona.pl/pl/test/ www.strona.pl/pl/test/strona a nawet www.strona.pl/pl/test/stroneczka Tak mi się zdaje że ten routing.php nie działa.
spróbowałem nawet zastosowac segmentacje, ale też nic. Są jeszcze jakieś sztuczki ? Ten post edytował Tom+ 23.03.2007, 15:39:16 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
route działa - podałem Ci dokładnie to samo rozwiązanie jakie miałem na stronie kumpla - Twój problem musi być w innym miejscu, albo nadal nie możemy się dokładnie zrozumieć
-------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
ja nie mam pojęcia, ja to rozwiązać.
do tej pory modyfikowowałem tylko pliki w /controller/ /views/ oraz config.php oraz dzięki tobie routing.php z wyjątkiem configu podałem wszystkie kody na tej stronie. -------------------------------------------- W user_guide wyczytałem cos w stylu tego: plik controllers/test.php
plik routing.php
Teraz wyniki doswiadczenia: www.strona.pl/test/ -> show: start www.strona.pl/test/cos -> show: $1 a według pomocy powinno być show: cos Więc Routers działa, ale dlaczego nie działają Wyrażenia ? Ten post edytował Tom+ 23.03.2007, 18:17:25 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 5 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
":any" jest wbudowane w CI - żeby działały wyrażenia musisz je poprawnie zapisać, czyli w Twoim przypadku
$route['test/([a-z0-9]+)']="test/$1"; używając $route['test/:any']='test/$1'; tak naprawdę używasz samego 'test/', bo pod $1 nic nie masz - jak widzisz route w CI działa jak najbardziej poprawnie ![]() -------------------- "Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
tak, dziękuje za pomoc.
Jednak musiałem jeszcze coś sam wymyślić. Bo to że zadziało to jedno, a to żeby działo tak jak trzeba to drugie. Defacto musiałem usunąć wpis w $route['default_controller'] i dopiero zadziało wszytsko tak jak ja oczekiwałem na samym początku tego wątku. Jeszcze raz dziękuje. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:02 |