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

В пересчете на:

  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. Код будет продублирован, но каждая главная страница будет иметь свой собственный выделенный файл.

Ответы [ 2 ]

3 голосов
/ 17 ноября 2009

Я бы сказал, что метод 2 лучше. Я думаю, что скорость не сильно пострадает в любом случае, и нет строгих стандартов по этому поводу, но чрезмерное ветвление в файлах шаблонов не рекомендуется.

Однако мне было бы интересно узнать, что это за код на главной странице. Drupal придаст первой странице «передний» класс css, поэтому его можно стилизовать по-разному, а блоки можно создавать для отображения только на первой странице. Поэтому, возможно, нет необходимости в конкретном шаблоне главной страницы.

2 голосов
/ 17 ноября 2009

Я займусь вашими точками в обратном порядке:

СТАНДАРТЫ

Я считаю, что стандартный принятый метод (по крайней мере, при работе с темами на основе дзен) - это создание определенного шаблона. На самом деле вам не нужно ставить какие-либо дополнительные функции тем, чтобы он работал, как будто вы назовете его page-front.tpl.php, он будет использоваться исключительно для первой страницы. Это, конечно, применимо, только если вам действительно нужен отдельный шаблон (см. Ответ Джереми по этому поводу).

НЕОБХОДИМАЯ ОБРАБОТКА

Я не думаю, что существует ощутимая разница, тесно связанная с природой двух разных методов. При прочих равных условиях для компьютера все равно остается вопрос открыть файл (шаблон) и обработать в нем PHP, будь то тот же файл или другой. Решение № 1 имеет if утверждение больше, но ... это действительно имеет значение?

SPEED

Если вы действительно нуждаетесь в оптимизации, я прочитал (если я не ошибаюсь в Pro Drupal Development ), что публикация страницы через шаблон в 5 раз медленнее, чем делать это с помощью функции, так что вы можете рассмотреть это решение, хотя это принесет пользу только в том случае, если домашняя страница не кэшируется, я считаю.

НТН!

...