Добавление стилей
Здравствуйте ! Скажите, а как правильно прописывать путь к CSS файлу и в какой папке он должен находиться ? Очень не красиво когда все стили прописываются прямо в head. Да и скрипты тоже...
Всё, разобрался....
Дмитрий, добрый день, стили лучше располагать в папке /media/css/, сам файл подключать в <head>. При этом обязательно ставьте корневой путь для css и js файлов, чтобы если на локальном или демо сервере у вас сайт не в корневой папке, то при переносе на рабочий хостинг вам не пришлось исправлять везде пути.
Также, сейчас с подачи Google есть мнение, что для ускорения загрузки страницы стили и JS нужно максимально сжать и ставить их в самый конец страницы перед </body>. Тогда сайт начинает лучше проходить проверку на скорость загрузки страницы в Google.
<link rel="stylesheet" type="text/css" href="<? echo $mv -> media_path; ?>css/style.css" /> <script type="text/javascript" src="<? echo $mv -> media_path; ?>js/jquery.js"></script>
Да, я кстати и хотел ещё указать про то что все js скрипты лучше подключать в конце страницы. Но лучше что бы все файлы стилей, js и всё остальное лежали в одной папке с шаблонами, а не в другой и вообще уж в корне. Так под каждый шаблон можно делать отдельную папку со всеми скриптами и стилями. Как это прописать ?
Вообще, если в папку views положить папку со стилями, а потом добавить туда .htaccess со строкой RewriteEngine off и в уже нее класть CSS и JS файлы, то все будет работать, но тут есть еще другие моменты.
Такой подход часто практикуют в различных CMS, когда есть один исходный шаблон, в который вставляется контент из базы и добавляются некоторые фрагменты кода, которые будут различными в зависимости от типа страницы или запрошенного URL. Шаблоны хранятся в папке с шаблонами, и сайт или какую-то его часть можно переключить на другой шаблон, если это нужно.
В MV это не так. Дело в том, что MV - это фреймворк и у него, строго говоря, нет шаблонов, у него есть модели и вьюхи, которые подключаются в зависимости от переданного URL. Основные повторяющиеся фрагменты header и footer одинаковые, но и они могут быть разными для разных частей сайта. CSS и JS отделены в папку media и по архитектуре должны находиться там, т.к. шаблон обычно один, а если не один, то можно сделать еще один например header и подключать его в нужную вьюху.
В MV вам нужно начать с того, что разделить html верстку на шапку и подвал, сформировать 3 исходные вьюхи (index, default и 404), а потом начинать добавлять новые модели и вьюхи. Модели с вьюхами не связаны однозначно, они могут пересекаться как угодно. URL тоже не привязан ни к модели ни к вьюхе, тут тоже полная свобода действий.
http://mv-framework.ru/zapusk-prostogo-saiyta/
http://mv-framework.ru/sozdanie-novogo-shablona/
Во фреймворках немного другой подход, чем в CMS, он более "программерский". У вас больше контроля на кодом и меньше "черных ящиков", где что-то происходит, а что не понятно.
Пишите, если будут еще вопросы!