mustang_shelby
@mustang_shelby
i like (*_metallica_*)

Подключение css в MVC системе на PHP?

Здравствуйте !
У меня такая проблема я не знаю как мне быть - у меня есть главный шаблон (default.php)
Для него есть определенные стили (css) но и для других страниц есть определенные (сss) стили.
Но если я их подключаю в один главный шаблон то образуется каша.
А как мне подключить их отдельно если у меня стили подключаються через главный шаблон?
Есть мысль написать скрипт проверки страницы и подключать стили , если страница определена - но как это реализовать понятие не имею...
  • Вопрос задан
  • 544 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Используйте нормальный шаблонизатор, Twig.

Сначала делааете главный шаблон сайта и в нем определяете изменяемые блоки. Самый главный, разумеется, будет пустой блок контент - то, куда пойдет вывод отдельных страниц.
Также делаете блоки для скриптов и стилей.
Общие стили сайта определяете в блоке стилей.
Дальше делаете шаблоны для конкретных страниц, которые наследуют главному шаблону, и в которых заполняется блок контент.
При этом блок стилей расширяется стилями, нужными конкретно для этой страницы.

Таким образом не получится столь привычного быдлокодерам винегрета.
Любые стили будет лежать только в шаблонах, и не будут засорять другие элементы MVC.
При этом главный шаблон не будет засоряться. ненужными ссылками.

Я понимаю что без примера сложно.
Вот простейший пример того, о чем я писал выше:

main.twig.html
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
{% block stylesheets %}
    <link href="/css/main.css" rel="stylesheet">
{% endblock %}
        <title>{% block title %}Twig Example{% endblock %}</title>
    </head>
    <body>
        {% block content %}{% endblock %}
    </body>
</html>

index.twig.html
{% extends "main.twig.html" %}

{% block content %}
<h1> index page </h1>
<li><a href=/page1.php>Page 1</a>
<li><a href=/page2.php>Page 2</a>
{% endblock %}

page1.twig.html
{% extends "main.twig.html" %}

{% block stylesheets %}
    {{ parent() }}
    <link href="/css/page1.css" rel="stylesheet">
{% endblock %}

{% block title %}Page 1{% endblock %}

{% block content %}
<h1> page 1</h1>
<li><a href=index.php>index</a>
{% endblock %}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы