я эту тему уже вдоль и поперек изучил с утра )
этот код:
To disable the cache add: $build['#cache']['max-age'] = 0;
по всему интернету разбросан, но нигде не сказано, куда конкретно его надо вставлять, в какой файл?
Опять же, кеш надо запретить для всех, в том числе для гостей без сессии - коими являются роботы ПС.
А это уже другая история - http://drupal.stackexchange.com/questions/151254/how-can-i-prevent-a-par...
По сессии - посмотрите как в D7 сделано и сделайте также. Насколько я помню просто кеш страниц ставите на 1 день и оно обновляется постепенно, сапа не ругается на такое.
Стандартный код сапы не работает в модуле: $sape = new SAPE_client();
вызывает ошибку:
mod_fcgid: stderr: PHP Fatal error: Class 'Drupal\\sape\\Plugin\\Block\\SAPE_client' not found
Что можно с этим сделать?
Причем в обычном блоке код работает без проблем, но кешируется.
Комментарии
Не делайте так.
Сапу надо как-то воткнуть. Блоки кешируются.
Шаблоны тоже кешируются по дефолту.
http://drupal.stackexchange.com/a/185224/26441
я эту тему уже вдоль и поперек изучил с утра )
этот код:
$build['#cache']['max-age'] = 0;
по всему интернету разбросан, но нигде не сказано, куда конкретно его надо вставлять, в какой файл?
Опять же, кеш надо запретить для всех, в том числе для гостей без сессии - коими являются роботы ПС.
А это уже другая история - http://drupal.stackexchange.com/questions/151254/how-can-i-prevent-a-par...
По идеи в альтер блока вставить нужно.
По сессии - посмотрите как в D7 сделано и сделайте также. Насколько я помню просто кеш страниц ставите на 1 день и оно обновляется постепенно, сапа не ругается на такое.
Я не силен в хуках и альтерах. Подскажите, пожалуйста, в какой файл и что именно надо вставить.
Вот как-то так:
$build['#cache']['max-age'] = 0;
}
но не работает, рандомное число на всех страницах одинаковое выводит
Вот http://valuebound.com/resources/blog/drupal-8-how-to-create-a-custom-blo...
Создайте свой блок, и туда вставьте код сапы.
> Я не силен в хуках и альтерах
Читайте гугл, там это все расписано.
> function hook_
hook тут надо заменить на название своего модуля.
А зачем тогда форум?
Я всего лишь попросил сформировать название функции function hook_block_build_BASE_BLOCK_ID_alter в том случае если блок называется sape.
https://api.drupal.org/api/drupal/core!modules!block!block.api.php/funct...
По теме:
К сожалению, пришлось сделать модуль. Причем, единственным вариантом снимающим кеширование является:
'max-age' => 0,
],
Варианты:
$build['#cache']['max-age'] = 0;
\Drupal::service('page_cache_kill_switch')->trigger();
в модуле не работают
К сожалению, пришлось сделать модуль.
Стандартный код сапы не работает в модуле:
$sape = new SAPE_client();
вызывает ошибку:
mod_fcgid: stderr: PHP Fatal error: Class 'Drupal\\sape\\Plugin\\Block\\SAPE_client' not found
Что можно с этим сделать?
Причем в обычном блоке код работает без проблем, но кешируется.