Ćwiczę z CakePHP i zastanawiam się, czy to logical/right thing umieszczanie CSS części poświęconych tylko szablonowi view.

Mówię o takich rzeczach:

<style>
    .form-element-name {
        width:150px;
        /* colors and other stuff are placed in main css */
    }
</style>
<form>
    <div class="form-element-name">Username</div><input name="myuser"/>
    <div class="form-element-name">Password</div><input name="mypass"/>
    <etc.../>
</form>
0
vitto 4 czerwiec 2011, 14:28

3 odpowiedzi

Najlepsza odpowiedź

Najprostszym sposobem na zrobienie tego jest wywołanie Pomocnika HTML w następujący sposób:

<?php echo $this->Html->css('forms'); ?>

Aby to zadziałało, plik musi znajdować się w folderze /app/webroot/css. Rozszerzenie .css nie jest potrzebne, ponieważ pomocnik dodaje je automatycznie.
Nie zapomnij dodać HTML-Helper do kontrolera var $helpers = array('Html');

Jeśli zrobisz to w ten sposób, możesz zachować logiczną separację układu i treści, co nazwałbym dobrą praktyką.

Zajrzyj również do CakeBook, aby uzyskać więcej informacji o HTML-Helper.

2
Tim 4 czerwiec 2011, 16:07

Umieściłbym to w osobnym pliku i kazałbym na razie nazywać to tylko tym widokiem. W ten sposób, jeśli potrzebujesz wprowadzić wiele zmian lub użyć go do czegoś innego, możesz skopiować/edytować plik lub wywołać go w innym widoku.

0
Sean 4 czerwiec 2011, 14:36

Chcesz mieć wszystkie swoje CSS w jak najmniejszej liczbie plików. Dzieje się tak, ponieważ przeglądarki będą pobierać tylko 2 pliki na raz, a posiadanie wielu różnych plików dla każdej strony oznacza czas oczekiwania na pobranie.

Ponadto nie będziesz w stanie wykorzystać pamięci podręcznej przeglądarki, ponieważ każdy oddzielny plik zostanie użyty raz. Zamiast jednego dużego pliku pobieranego przy pierwszym wyświetleniu strony, a następnie pobieranego z pamięci podręcznej przy kolejnych odsłonach.

Tl;dr pojedyncze duże pliki są szybsze niż wiele małych plików.

0
dogmatic69 4 czerwiec 2011, 20:32