Size: a a a

2020 January 28

AK

Alexey Korepov in Drupal RU
Да, я уже теперь понял. Достаточно сделать контекст "dolzhnost" куда пихнуть значение поля юзера, и приклеить этот контекст к ноде
источник

ИЛ

Иван Лещёв in Drupal RU
лейзибилд или js персонализация
источник

ИЛ

Иван Лещёв in Drupal RU
но вообще это баловство
источник

АК

Алексей Кузнецов in Drupal RU
Иван Лещёв
лейзибилд или js персонализация
Хз, есть ли смысл поднимать ttfb, чтобы показывать юзеру лоадеры?
источник

ИЛ

Иван Лещёв in Drupal RU
что?
источник

ИЛ

Иван Лещёв in Drupal RU
ttfb и приветы секретаршам?
источник

АК

Алексей Кузнецов in Drupal RU
Лэйзибилд не уменьшает нагрузку на сервер, и не ускоряет загрузку всего контента. Он лишь уменьшает ttfb
источник

ИЛ

Иван Лещёв in Drupal RU
бигпайп не нужен
источник

ИЛ

Иван Лещёв in Drupal RU
лейзибилд - это не только бигпайп
источник

ИЛ

Иван Лещёв in Drupal RU
лейзибилд увеличивает шанс основного контента попасть в кеш и быть отданным из кеша повторно
источник

ИЛ

Иван Лещёв in Drupal RU
ttfb - это вообще синтетический показатель
не надо на него ориентироваться
источник

ИЛ

Иван Лещёв in Drupal RU
значение имеет не первый байт, а доступный первый экран
источник

АК

Алексей Кузнецов in Drupal RU
Про первый бит надо думать, если ttfb сильно большой. Потому что если он полторы секунды, то всё остальное уже не особо важно
источник

ИЛ

Иван Лещёв in Drupal RU
друпал отдаёт страницу целиком, если без бигпайпа
там что там что первый бит, что последний, серверу плевать
источник

АК

Алексей Кузнецов in Drupal RU
Серверу плевать, а юзеру нет. Если за 3-5 сек ничего не загружается, вкладку закрывают
источник

AK

Alexey Korepov in Drupal RU
Nikita Malyshev
Только контексту не нужно знать о nid. По сути контекст сведется к получению значения «должность» у юзера и по нему и будет работать. Пофиг какой там нид уже. Иначе раздует похлеще чем просто «user» контекст.
начал писать и понял, что в моём случае всё же надо знать id ноды (значение контекста зависит и от поля юзера и от поля ноды одновременно) при расчёте значения контекста в функции getContext, его как туда можно передать?
Как-то так правильно будет?

function hook_entity_build_defaults_alter(array &$build, \Drupal\Core\Entity\EntityInterface $entity, $view_mode) {
 $build['#cache']['contexts'][] = 'my_custom_context.' . $entity->nid->value;
}

и

  public function getContext($nid) {
   // $node = node_load($nid);
   ....
 }
источник

NM

Nikita Malyshev in Drupal RU
Alexey Korepov
начал писать и понял, что в моём случае всё же надо знать id ноды (значение контекста зависит и от поля юзера и от поля ноды одновременно) при расчёте значения контекста в функции getContext, его как туда можно передать?
Как-то так правильно будет?

function hook_entity_build_defaults_alter(array &$build, \Drupal\Core\Entity\EntityInterface $entity, $view_mode) {
 $build['#cache']['contexts'][] = 'my_custom_context.' . $entity->nid->value;
}

и

  public function getContext($nid) {
   // $node = node_load($nid);
   ....
 }
Так причем тут нода? В текущей задаче:

Нода — то что должно иметь различные варианты отображения.
Юзер — то что определяет, какой вариант будет показан.

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

ИЛ

Иван Лещёв in Drupal RU
Алексей Кузнецов
Серверу плевать, а юзеру нет. Если за 3-5 сек ничего не загружается, вкладку закрывают
юзеру плевать на первый байт
ему не плевать на первый экран готовый
источник

АК

Алексей Кузнецов in Drupal RU
Ну ок, у тебя ттфб 5 секунд. Какие твои действия, чтобы ускорить отрисовку первого экрана?
источник

ИЛ

Иван Лещёв in Drupal RU
Алексей Кузнецов
Ну ок, у тебя ттфб 5 секунд. Какие твои действия, чтобы ускорить отрисовку первого экрана?
такие же, как подогнать последний байт
источник