Лучше ли использовать отдельный файл шаблона для главной страницы?

StackOverflow https://stackoverflow.com/questions/1746592

  •  20-09-2019
  •  | 
  •  

Вопрос

С точки зрения:

  1. Скорость
  2. Требуемая обработка (которая повлияет на скорость)
  3. Следование стандартам

Какой из следующих двух методов будет лучше?

Я хочу создать общий макет страницы, однако главная страница будет выглядеть иначе, чем обычно.

Способ 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 раз медленнее, чем с помощью функции, поэтому вы также можете рассмотреть это решение, хотя я считаю, что это принесет пользу только в том случае, если домашняя страница не кэшируется.

ХТХ!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top