Лучше ли использовать отдельный файл шаблона для главной страницы?
-
20-09-2019 - |
Вопрос
С точки зрения:
- Скорость
- Требуемая обработка (которая повлияет на скорость)
- Следование стандартам
Какой из следующих двух методов будет лучше?
Я хочу создать общий макет страницы, однако главная страница будет выглядеть иначе, чем обычно.
Способ 1
Создание обычного файла page.tpl.php, но со следующим кодом:
.....
<body>
<?php if (isFront()) {
// lots of stuff for the frontpage
}
else
{
// lots of stuff for the other pages
}
?>
</body>
Способ 2
Создайте две отдельные страницы, а именно page.tpl.php и front.tpl.php.Код будет дублироваться, но главная и другие страницы будут иметь отдельный файл.
Решение
Я бы сказал, что второй способ лучше.Я думаю, что на скорость в любом случае сильно не повлияет, и строгих стандартов на этот счет нет, но чрезмерное ветвление в файлах шаблонов не рекомендуется.
Однако мне было бы интересно узнать, что такое конкретный код домашней страницы.Drupal предоставит главной странице «передний» класс CSS, чтобы ее можно было стилизовать по-разному, а блоки можно было создавать для отображения только на главной странице.Поэтому, возможно, нет необходимости в конкретном шаблоне главной страницы.
Другие советы
Я рассмотрю ваши пункты в обратном порядке:
СТАНДАРТЫ
Я считаю, что стандартным общепринятым методом (по крайней мере, при работе с темами на основе дзен) является создание определенного шаблона.На самом деле вам не нужно добавлять какую-либо дополнительную функцию оформления тем, чтобы она работала, как если бы вы ее назвали page-front.tpl.php
он будет использоваться исключительно для главной страницы.Это, конечно, применимо только в том случае, если вам действительно нужен отдельный шаблон (см. ответ Джереми по этому поводу).
ТРЕБУЕМАЯ ОБРАБОТКА
Я не думаю, что существует ощутимая разница, тесно связанная с природой двух разных методов.При прочих равных условиях компьютер все равно должен открыть файл (шаблон) и обработать в нем PHP, будь то тот же файл или другой.Решение №1 имеет if
заявление больше, но...действительно ли это имеет значение?
СКОРОСТЬ
Если вам действительно очень нужна оптимизация, я почитаю (если не ошибаюсь насчет Профессиональная разработка Drupal), что темаизация страницы с помощью шаблона происходит в 5 раз медленнее, чем с помощью функции, поэтому вы также можете рассмотреть это решение, хотя я считаю, что это принесет пользу только в том случае, если домашняя страница не кэшируется.
ХТХ!