Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [PHP][CSS]Ścieżki do obrazków
Evinek
post 2.07.2012, 13:45:24
Post #1





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Witam.
Tworzę stronę no i mam dwie wersje. Dokładnie mam te same pliki na localhost i na stronie prócz jedynie pliku core.php który ma konfiguracje.
Problem jest teraz ze stylami. Normalnie używam zmiennej globalnej(chyba to tak się nazywa) WWW.'reszta linku', ale w tym CSS tego nie użyje. Jest problem w tym, że na localhost stronę mam w podkatalogu a na serwerze w głównym folderze - ścieżka więc się zmienia.
Ścieżka która działa na stronie:
  1. background: url('/public/images/theme/gazeta.jpg') repeat-y right top;

A, że chce mieć dokładnie te same pliki tu i tu aby jak dokonam zmiany na localhost to wysyłam od razu na serwer i to działa to potrzebuje jakoś użyć zmiennej globalnej WWW w CSS.
Dodam, że nie chcę zmieniać konfiguracji PHP.
Myślałem aby dodać w HTMLu po prostu to (style="..."), ale czy to będzie poprawnie?
Proszę o rady.

Pozdrawiam, Paweł.
Go to the top of the page
+Quote Post
strife
post 2.07.2012, 14:18:13
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Tu masz jedno z rozwiązań jak korzystasz ze zmiennych w plikach css.

* http://net.tutsplus.com/tutorials/html-css...your-css-files/

Zasadniczo musisz css generować dynamicznie jakoś, a potem cacheować.

Jeśli zrozumiałem o co Ci chodziło, trochę dziwnie to opisałeś w ogóle.


--------------------
Go to the top of the page
+Quote Post
markonix
post 2.07.2012, 15:19:39
Post #3





Grupa: Zarejestrowani
Postów: 2 692
Pomógł: 288
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Ja bym się po prostu trzymał standardów.

http://stackoverflow.com/questions/3812375...ase-url-for-css

W dobie MVC, widoków mimo wszystko jest standard aby css trzymać w root folderze i problem z głowy.
Jest też base href ale nie jestem pewien czy działa z css (nigdy nie miałem potrzeby go używać).


--------------------
Go to the top of the page
+Quote Post
Evinek
post 2.07.2012, 15:22:10
Post #4





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Ogólnie to tak:
CSS na serwerze:
  1. background: url('/public/images/theme/gazeta.jpg') repeat-y right top;

CSS na localhost powinien wyglądać tak:
  1. background: url('/nazwafolderu/public/images/theme/gazeta.jpg') repeat-y right top;

Chce aby każdy plik co jest na localhost bym identyczny jak na serwerze. Czyli jak będę chciał zmienić tylko kolor tekstu to bez zmiany tej linijki(z tym tłem) chciałbym aby wszystko działało jak wyślę na inny serwer.

Rozwiązanie powyżej jest okej, ale czy warto bawić się takim czymś dla jednej rzeczy?
Może ktoś da jeszcze inny pomysł. Co sądzicie o dodawaniu CSS w index.html? Albo dodawaniu linku w CSS(czyli zawsze by brało ze strony obrazek, nawet jak robię na localhost).

Go to the top of the page
+Quote Post
!*!
post 2.07.2012, 15:29:02
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


markonix już Ci odpowiedział, za bardzo kombinujesz. Masz pliki na serwerze

Cytat
index.html
web //katalog
- style.css


W index.html dajesz odwołanie do /web/style.css a w pliku style np.

  1. background: url('/imggazeta.jpg') repeat-y right top;

Ponieważ są w tym samym folderze co plik css.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Damonsson
post 2.07.2012, 15:29:36
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Trzymaj się standardów, jak napisano wyżej i nie będzie problemów.

index.php trzymasz w katalogu w którym, CSS trzymasz w folderze CSS, obrazki trzymasz w IMAGES na tej samej wysokości i linkujesz sobie z css do obrazków '../images/itd.', a z index.php normalnie 'images/itd.'

Zobacz sobie jak to wygląda w jakichś CMSach nawet typu Joomla.

Go to the top of the page
+Quote Post
Evinek
post 2.07.2012, 15:40:42
Post #7





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Co za ze mnie...
Jak zawsze za dużo kombinuje.
Problem rozwiązany - proste błędy są najtrudniejsze.

Pomógł leci dla tych co pomogli albo próbowali chociaż. smile.gif

Rozwiązanie (dla tych z tym samym problemem):
  1. background: url('../images/theme/gazeta.jpg') repeat-y right top;

Foldery mam tak ułożone:
public
-images
-css
-js

Ten post edytował Evinek 2.07.2012, 15:42:10
Go to the top of the page
+Quote Post
wNogachSpisz
post 17.07.2012, 11:47:21
Post #8





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Istnieje ciekawy wynalazek, mam na myśli znacznik <BASE>.
Bardzo przydatne, jednak bugowate w IE podczas dynamicznego nadawania atrybutu background-image. Ja się nauczyłem, ten atrybut dynamicznie tylko przy użyciu bezwzględnej ścieżki.
Go to the top of the page
+Quote Post
markonix
post 17.07.2012, 12:06:01
Post #9





Grupa: Zarejestrowani
Postów: 2 692
Pomógł: 288
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(wNogachSpisz @ 17.07.2012, 12:47:21 ) *
Istnieje ciekawy wynalazek, mam na myśli znacznik <BASE>.

Po co odgrzebujesz kotlety poza tym o base wspominałem jakbyś nie zauważył..


--------------------
Go to the top of the page
+Quote Post
wNogachSpisz
post 17.07.2012, 12:09:22
Post #10





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(markonix @ 17.07.2012, 13:06:01 ) *
poza tym o base wspominałem jakbyś nie zauważył..

I co ciekawego o nim napisałeś?
Go to the top of the page
+Quote Post
!*!
post 17.07.2012, 12:14:00
Post #11





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
Istnieje ciekawy wynalazek, mam na myśli znacznik <BASE>.

W stronie do 5 podstron może i się sprawdzi. W czymś rozbudowanym już nie, bo kto powiedział że źródło może być tylko jedno. Znacznik <base> to spore uwstecznienie.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
wNogachSpisz
post 17.07.2012, 12:15:21
Post #12





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Co masz na myśli pisząć że "źródło może być tylko jedno"?

Ten post edytował wNogachSpisz 17.07.2012, 12:15:39
Go to the top of the page
+Quote Post
!*!
post 17.07.2012, 12:20:41
Post #13





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


To że base głównie dajesz raz na początku pliku html. I na tej podstawie linki, czy tam img, dokleja sobie ten adres do siebie. Tylko że ustalanie czegokolwiek z poziomu html, przy czymś większym to czysta głupota, od generowania ścieżek są funkcje, .htacces a nie gmeranie w plikach wyglądu.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
wNogachSpisz
post 17.07.2012, 13:00:56
Post #14





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Jeśli masz rozproszoną logikę aplikacji pomiędzy php, bazę danych, konfigurację serwera www, mod rewrite, pliki html i cholera wie co jeszcze, to nic dziwnego że nic do siebie nie pasuje.

Nie rozumiem co chcesz ustalać z poziomu HTML. Główny URL jest najczęściej w stylu: 'http://domena.pl/', ustalasz go z kontrolera, przekazujesz do widoku, podstawiasz do "base href" i gotowe.
Od ok. dwóch lat używam BASE w każdym projekcie i poza bugiem przy dynamicznie ustalanym background-image w IE wszystko działa idealnie.

Nie rozumiem gdzie tu uwstecznienie?

Ten post edytował wNogachSpisz 17.07.2012, 13:02:00
Go to the top of the page
+Quote Post
!*!
post 17.07.2012, 13:26:27
Post #15





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
Jeśli masz rozproszoną logikę aplikacji pomiędzy php, bazę danych, konfigurację serwera www, mod rewrite, pliki html i cholera wie co jeszcze, to nic dziwnego że nic do siebie nie pasuje.

Nie pasuje?

Tylko po co Ci base, jak i tak przekazujesz dane do widoku?

Cytat
Od ok. dwóch lat używam BASE w każdym projekcie i poza bugiem przy dynamicznie ustalanym background-image w IE wszystko działa idealnie.

Nie tylko, pozostaje również problem z kotwicami, jak i swego czasu multibg w fx. Base to relikt (tak jak basefont, center czy align, aż dziwne że jeszcze nie wyleciał ze specyfikacji), dobry przy b. małych stronach. Z rozdziałem na mvc/mvp nie ma racji bytu.

Ten post edytował !*! 17.07.2012, 13:33:21


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
wNogachSpisz
post 17.07.2012, 13:36:23
Post #16





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Relikt w specyfikacji HTML5? Nie łykam tego. Relikt to znacznik font czy center, nie base.

Po to żeby każdy href i scr w dokumencie nie zaczynał się od scheme i hosta, a od path.

Ten post edytował wNogachSpisz 17.07.2012, 13:37:41
Go to the top of the page
+Quote Post
!*!
post 17.07.2012, 13:39:16
Post #17





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(wNogachSpisz @ 17.07.2012, 14:36:23 ) *
Relikt w specyfikacji HTML5? Nie łykam tego. Relikt to znacznik font czy center, nie base.
Po to żeby każdy href i scr w dokumencie nie zaczynał się od scheme i hosta, a od path.


HTML5 jest kompatybilne wstecz.

Widok ustalający ścieżkę... można i tak, tylko skoro go masz... ale niech Ci będzie że to logiczne i dobre.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
markonix
post 17.07.2012, 14:20:37
Post #18





Grupa: Zarejestrowani
Postów: 2 692
Pomógł: 288
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(wNogachSpisz @ 17.07.2012, 13:09:22 ) *
I co ciekawego o nim napisałeś?

Hmm, a Ty?? Że ma BUG i że z niego korzystasz - bardzo pomocne.
To chyba wystarczająco jednoznaczny atrybut, że nie trudno znaleźć o nim informacje, jeżeli zainteresuje autora.

No i nadal nie zmienia faktu, że temat to kotlet.



--------------------
Go to the top of the page
+Quote Post
strife
post 17.07.2012, 14:38:11
Post #19





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Temat do niczego nie zmierza, jako że jest rozwiązany zamykam.

Przenieście proszę Panowie tę konwersację na PW.

Zamykam


--------------------
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.01.2020 - 21:00