-
Data: 2012-02-27 10:06:12
Temat: Re: CSS - problem z selektorem
Od: "M.G." <k...@t...zna> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Mon, 27 Feb 2012 10:32:56 +0100, Marek wrote:
> Dnia Mon, 27 Feb 2012 08:19:39 +0100, M.G. napisał(a):
>
>> Cały kod HTML "wstrzykujesz" CMSem.
>
> Nie, zupełnie inaczej to realizuję - o tym dalej.
Realizujesz to jak inni, serio.
>>> CMS może jakiś kod HTML zawarty w formatce
>>> powielać itp. aby zachować pełną separację kodu HTML i oprogramowania.
>>
>> Cały kod generowany jest przez CMSa. Frontend jest widokiem, efektem
>> działania tego co zainstalowane i zamodelowane zostało pod spodem. Jak
>> możesz to "odseparować"?
>
> Już wyjaśniam. Mianowicie CMS niczego sam nie generuje poza wstawianiem
> treści z bazy danych. W uproszczeniu do naszych rozważań działa to tak:
> - formatki zawierają wyłącznie kod HTML, JS, CSS, obrazki itp
> - formatki stanowią kod, który da się edytować w edytorach WYSIWYG i
> podglądać w przeglądarkach i sprawdzać validatorami. Nie są to kawałki
> niespójnego kodu, które jakaś logika porządkuje. CMS pracuje więc na
> eleganckim kodzie HTML/XML czy cokolwiek.
Niespójność i elegancja to osobne kwestie. Robisz to co inni - masz
ustalony wynikowy kod frontendu i każesz CMSowi taki kod generować.
> - formatki zawierają markery bloków, które CMS ma powielać (np. sekcja
> newsów to wielokrotnie powielony taki blok HTML)
Czyli CMS generuje HTMLa. 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ł).
> - CMS podmienia w takim bloku tylko treść, jakieś ID dokumentów, które mają
> linkować się czy obrazków. Klonuje go tyle razy ile jest newsów (skoro już
> taki przykład dałem). Sam nie generuje żadnego kodu HTML o ile nie jest on
> treścią wprowadzoną przez redaktora.
Czyli CMS generuje HTMLa, w dodatku podmieniając atrybuty elemenentów. Nie
przeszkadza Ci, że zmienia "id" ale przeszkadza, że zmieni "class"?
> 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ć.
> Nie są wstawiane żadne elementy HTML - ich nazw nie
> znajdzesz w oprogramowaniu CMS.
Znajdziesz je w szablonach, których CMS używa.
> Aby podmieniać te składowe kodu, ich nazwy
> musałyby być zaszyte w oprogramowaniu na stałe a to oznacza brak separacji
> oprogramowania i "widoku" na co sobie nie chcę pozwolić.
To nie oznacza żadnego braku separacji, to jest prawidłowe generowanie
dwóch różnych widoków w dwóch różnych sytuackach. Sytuacja, w której jakaś
porcja danych jest elementem widoku i ma być wyświetlona jest sytuacją inną
niż ta, w której nie jest. Dwa różne widoki.
> CMS staje się
> wtedy aplikacją dedykwaną konkretnemu serwisowi.
CMS jest zawsze aplikacją dedykowaną konkretnemu serwisowi. 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?
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.
> 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. Dostają one dwa różne zestawy danych (co do rodzaju
nawet, nie tylko co do liczby instancji podobnego obiektu), przez co
zmianie ulega widok. A widok to po prostu HTML i cała reszta, więc może
zawierać cokolwiek. Klasy, id, data-cosie.
[...]
--
M.G.
Następne wpisy z tego wątku
- 27.02.12 10:14 M.G.
- 27.02.12 13:01 Paweł Piskorz
- 27.02.12 13:08 M.G.
- 27.02.12 13:10 Paweł Piskorz
- 27.02.12 13:11 M.G.
- 27.02.12 13:32 Paweł Piskorz
- 27.02.12 15:10 M.G.
- 27.02.12 16:11 Borys Pogoreło
- 27.02.12 16:16 M.G.
- 27.02.12 16:59 Borys Pogoreło
- 27.02.12 21:20 Marek
- 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
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-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-03-14 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-14 VAT-R Umowa najmu na adres zamieszkania
- 2025-03-14 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-14 Warszawa => Junior Rekruter <=
- 2025-03-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-14 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-14 Żerniki => Dyspozytor Międzynarodowy <=