-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek <p...@s...com>
Newsgroups: pl.comp.www
Subject: Re: CSS - problem z selektorem
Date: Mon, 27 Feb 2012 22:20:34 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 110
Message-ID: <x...@4...net>
References: <1low65zhwtnfx.5wip7v9tzluz$.dlg@40tude.net>
<1v2espcqfzt8c$.dlg@torpi.slimaczek.pl>
<3...@4...net>
<jidb41$6m8$1@inews.gazeta.pl>
<4fwu14l45j43$.1c5tfq1gk0qlb$.dlg@40tude.net>
<1k9rpsql7vjud$.1m07gxzo5b09$.dlg@40tude.net>
<1cd9cwkhw6mp5$.1s0g4v3nrswa8$.dlg@40tude.net>
<heyww351g6r4.z6seuyb66zx3$.dlg@40tude.net>
NNTP-Posting-Host: 89-69-246-2.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1330377634 1194 89.69.246.2 (27 Feb 2012 21:20:34 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Mon, 27 Feb 2012 21:20:34 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.41pl
Xref: news-archive.icm.edu.pl pl.comp.www:400634
[ ukryj nagłówki ]Dnia Mon, 27 Feb 2012 11:06:12 +0100, M.G. napisał(a):
>> Nie, zupełnie inaczej to realizuję - o tym dalej.
>
> Realizujesz to jak inni, serio.
Ok :-)
>
>> - formatki zawierają markery bloków, które CMS ma powielać (np. sekcja
>> newsów to wielokrotnie powielony taki blok HTML)
>
> Czyli CMS generuje HTMLa.
Poniekąd oczywiście, że tak. Starałem się jednak sprecyzować co znaczy dla
mnie "generowanie". Może inaczej to wyjaśnię. W/g mojej definicji
"generowanie" zachodzi wtedy gdy w kodzie np. PHP znajdziemy coś w stylu:
print("<div>");
Czyli generowanie (w mojej definicji) to jest tworzenie kodu jakiego
fragmentów nie było w formatce.
> Powielenie sekcji to jest generowanie HTMLa.
> Wszystko co robi CMS jako wynik swojej pracy, to generowanie HTMLa
> (ewentualnie JSONa, RSSa, czegokolwiek co potrzebne), jedyna różnica może
> tkwić w tym czy masz kontrolę nad kodem, który generuje (dobry CMS) czy nie
> masz (kod "zaszyty" na sztywno, zły CMS, ewentualnie zły moduł).
To kwestie leksykalne. Powyżej zdefiniowałem to co miałem na myśli.
>
> Czyli CMS generuje HTMLa, w dodatku podmieniając atrybuty elemenentów. Nie
> przeszkadza Ci, że zmienia "id" ale przeszkadza, że zmieni "class"?
Dokładnie trafiłeś w sedno. Nie przeszkadza mi kostrukcja w kodzie HTML:
<a href="dokument_TU_WSTAW_ID.html">link do mojego dokumentu</a>
a bardzo mi przeszkadza:
<p class="TU_WSTAW_KLASĘ">bla bla</p>
Gdy w przeglądarce czy edytorze WYSIWYG popatrzysz na kod drugi, to
niepoprawnie go wyświetli gdyż nie ma klasy w CSS o nazwie
"TU_WSTAW_KLASĘ". Znacznik umieszczony w linku nie przeszkadza.
>> Nie są w żadnym przypadku podmieniane nazwy klas CSS bo skąd CMS miałby
>> wiedzieć na jakie?
>
> Bo go o tym poinformujesz? Skoro informujesz go o HTMLu, który ma
> generować, to możesz go poinformować o atrybutach, które ma generować.
Osobiście stronię od takich rozwiązań. Bardzo trudno poruszać się po kodzie
obfitującym w "widoczne inaczej" sekcje. To tak jak programowanie w kodzie
maszynowym zamiast w językach wyższego rzędu.
>
> CMS jest zawsze aplikacją dedykowaną konkretnemu serwisowi.
U mnie nigdy tak nie jest. Praktycznie wszędzie CMS jest identyczny.
Zmieniają się tylko zainstalowane lub włączone moduły. O funkcjonalności
decyduje formatka HTML. Ona poza szatą graficzną zawera specjalne markery
(nie zaburzające validacji ani wyglądu) sterujące CMSem.
> To nie musi
> oznaczać modyfikacji samego CMSa ale jeśli CMS nie dostarcza narzędzi,
> które pozwalają na zareagowanie inaczej w dwóch różnych sytuacjach... to
> jest jakaś stara Joomla?
Nie w tym rzecz. CMS jest autorski. Mie ma potrzeby aby moduł np.
generujący menu wiedział o tym, że ma reagować inaczej gdy dokument
wyświetlany na tej samej stronie ma obrazki lub nie ma - czyli pojawi się
lub nie kolumna <aside> w naszym przypadku. Takie sprawy rozwiązuje się za
pomocą CSS. Jordan zaproponował zgrabne rozwiązanie - zerknij tam. Jestem
zwolennikiem przejrzystości kodowania tak aby rozwiązania zastosowane przez
ich autora były samokomentujące się. Dlatego wstawianie znaczników w
miejsce klas psuje taką koncepcję.
> Generowanie różnych klas dla różnych widoków jest podstawową praktyką przy
> korzystaniu z CMSa, na tym polega "separacja". To dlatego np. Worpdress ma
> funkcje generujące klasy dla BODY, które pozwalają ostylować inaczej każdy
> widok (stronę, kategorię, taksonomię, post, archiwum, cokolwiek), czy
> dodaje klasy typu "current_page_item" jeśli z URLa wynika, że aktualnie
> jesteś na danej podstronie.
A nie lepiej podmienić plik CSS gdy potrzebujemy coś inaczej mieć
ostylowane lub zarządzać mediami na poziomie CSS? Chyba tylko wtedy
istnieje potrzeba zmiany stylu (dla drukarki inaczej dla ekranu inaczej).
Kwestię ostylowania podstron też prosto można rozwiązać bez używania
"wstrzykiwanych" klas. Wystarczy dla podstron zbudować inną formatkę z
innymi klasami. Wtedy ktoś kto grzebie w naszym kodzie zobaczy jak wyglądać
będzie taka podstrona bez uruchamiania CMS i łatwo będzie mógł ja
zmodyfikować. Gdy natomiast CMS będzie podrzucał w locie jakąś klasę to
marnie widzę szansę na zlokalizowanie kodu bez konsultacji z jego autorem.
>> Owszem, wtedy jest czasem
>> trudniej coś ostylować gdy raz jakiś blok pojawia się a innym razem nie.
>
> Gdy raz jakiś blok się pojawia, a raz nie, to masz do czynienia z dwoma
> różnymi widokami.
Może nie do końca rozumiem tą koncepcję. Co znaczy "widok" w tym przypadku?
Skąd jest on brany i jakie są kryteria wyłonienia właściwego? Jeśli to
jakiś moduł programowy go określa - wydaje mi się niepotrzebnym tworzenie
takiego modułu jeśli CSS to załatwia. Wydaje mi się to szalenie złożoną
ideą do prostych zadań. Załóżmy, że mamy dokument z 3 kolumnami, z których
każda z nich może pojawić się lub nie. Czy to oznacza, że musimy
wygenerować 6 widoków spełniających wszelkie kombinacje? Czyli liczba
widoków może dążyć do nieskończoności gdy kolumn jest więcej.
Następne wpisy z tego wątku
- 27.02.12 21:32 Marek
- 27.02.12 23:14 Borys Pogoreło
- 28.02.12 09:21 Marek
- 28.02.12 19:48 Borys Pogoreło
- 28.02.12 19:52 Borys Pogoreło
- 28.02.12 20:05 Marek
- 29.02.12 16:31 Borys Pogoreło
- 29.02.12 19:21 Marek
- 28.03.12 15:07 M.G.
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-04-03 Ledy na wyłączniku czasowym błyskają
- 2025-04-03 Mapy w android-auto
- 2025-04-03 Czy [polityka] wolno wyzywać od idiotów ale nie od morderców? Czy posłowi wolno mniej niż obywatelowi?
- 2025-04-03 nju internet sms z kodem
- 2025-04-03 Gdynia => Sales Executive / KAM <=
- 2025-04-03 Gdańsk => PHP Developer <=
- 2025-04-03 Wydałem 300 zł za bezpłatne konto w Santander
- 2025-04-02 Wrocław => Key Account Manager (ERP) <=
- 2025-04-02 Zielona GĂłra => Konsultant wdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-04-02 Zielonka => Specjalista ds. public relations <=
- 2025-04-02 Gliwice => IT Expert (Network Systems area) <=
- 2025-04-02 Kraków => Spedytor Międzynarodowy <=
- 2025-04-02 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-04-02 Warszawa => Generative AI Engineer <=
- 2025-04-02 Szczecin => Key Account Manager IT <=