Кратко изложить не поулчится, но каждый разработчик точно от этого пострадает

так что - плюсуем.
Итак, внутри кеша, часто делаем такую конструкцию:
if ($arParams['PAGE_COUNT']>0)
$arResult['NAV_STRING'] = $rsElements->GetPageNavStringEx($navComponentObject, '', $arParams['PAGER_TEMPLATE'], false); |
А теперь представим, что на наш пока еще не кешированный список зашли с какой-то ссылкой, например, r1=yandex&r2=direct.
Что сделала постраничка? Она засчитала r1=yandex&r2=direct как важные параметры и КАЖДОМУ номеру страницы в постраничке подмешала данные параметры. Получили
PAGEN_1=1&r1=yandex&r2=direct
PAGEN_1=2&r1=yandex&r2=direct
PAGEN_1=3&r1=yandex&r2=direct
.... (1)
Теперь все это дело кешируется, и что мы получаем? Что любой пользователь, попавший на список БЕЗ r1=yandex&r2=direct в СВОЕЙ ссылке, в ссылках получит блок (1). Получается, рекламная кампания r1=yandex&r2=direct испорчена совершенно левыми посетителями.
Как решить эту проблему, я даже не знаю... передавать GetPageNavStringEx значимые параметры, и, если они переданы, учитывать только их?
Более развернутся информация появится в моем блоге на сайте битрикса в начале апреля.