Отключение кэширования страницы благодарности

Всем привет. Есть сайт на MODx 1.0.5. Пользователи оставляют заявки через форму, после этого их редиректит на страницу благодарности.
На странице благодарности стоит код, который передает номер заявки в Гугл Аналитикс. Проблема в том, что номер заявки кэшируется в браузере и при повторной подаче заявке этим же пользователем, номер не изменяется в исходном коде страницы.

Код страницы благодарности:

<h3>Мы свяжемся с вами в ближайшее время.</h3>



<img  title="Спасибо за заявку" alt="Наш оператор Вам перезвонит" width="500">



[!sk_get_id!]
Код сниппета sk_get_id:

<?php
$homepage = file_get_contents('http://www.site.ru/sk_lib/bd_id.txt');
$referer  = $_SERVER['HTTP_REFERER'];

if($referer == 'http://www.site.ru/order.html'){
   echo "
   <script>
   var a = document.referrer;
    if (a == 'http://www.site.ru/order.html') {
        var transactionId = $homepage;
        ga('require', 'ecommerce', 'ecommerce.js');
        ga('ecommerce:addTransaction', {'id': transactionId});
        ga('ecommerce:send');
    }
   </script>";
}
?>
Кэшируется переменная transactionId. Если несколько раз нажать F5 в браузере, то переменная показывает актуальное значение. В настройках страницы галка Кэшируемый снята.

Пробовали подставить заголовки для отключения кэша на странице:

<?php
$url = $_SERVER['REQUEST_URI'];

if($url == '/thanks.html'){
ini_set('display_errors',1);
error_reporting(E_ALL ^E_NOTICE);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
}
?>
Не помогло. Может кто-нибудь в курсе, как решить эту проблему?
Стас
26 января 2016, 09:21
modx.pro
657
0

Отключить кэширование страницы благодарности

1
Всем привет. Есть сайт на MODx 1.0.5. Пользователи оставляют заявки через форму, после этого их редиректит на страницу благодарности.
На странице благодарности стоит код, который передает номер заявки в Гугл Аналитикс. Проблема в том, что номер заявки кэшируется в браузере и при повторной подаче заявке этим же пользователем, номер не изменяется в исходном коде страницы.

Код страницы благодарности:

<h3>Мы свяжемся с вами в ближайшее время.</h3>



<img  title="Спасибо за заявку" alt="Наш оператор Вам перезвонит" width="500">



[!sk_get_id!]
Код сниппета sk_get_id:

<?php
$homepage = file_get_contents('http://www.site.ru/sk_lib/bd_id.txt');
$referer  = $_SERVER['HTTP_REFERER'];

if($referer == 'http://www.site.ru/order.html'){
   echo "
   <script>
   var a = document.referrer;
    if (a == 'http://www.site.ru/order.html') {
        var transactionId = $homepage;
        ga('require', 'ecommerce', 'ecommerce.js');
        ga('ecommerce:addTransaction', {'id': transactionId});
        ga('ecommerce:send');
    }
   </script>";
}
?>
Кэшируется переменная transactionId. Если несколько раз нажать F5 в браузере, то переменная показывает актуальное значение. В настройках страницы галка Кэшируемый снята.

Пробовали подставить заголовки для отключения кэша на странице:

<?php
$url = $_SERVER['REQUEST_URI'];

if($url == '/thanks.html'){
ini_set('display_errors',1);
error_reporting(E_ALL ^E_NOTICE);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
}
?>
Не помогло. Нужна помощь специалиста.
Стас
26 января 2016, 09:14
modx.pro
1 121
0

Возможно ли такое сделать на pdoMenu?

Есть категории и подкатегории. Количество подкатегорий различно. Возможно ли вывести с помощью pdoMenu меню такого вида?:

Категория
Подкатегория 1
Подкатегория 2
Подкатегория 3
<обертка>
Подкатегория 4
Подкатегория 5
и т.д.
</обертка>

т.е. те категории у которых idx>3 дополнительно оборачивать в див? Или все таки надо будет самому «колхозить» с проверками через pdoResources? Или может есть другие способы вывода?
Владимир Бабусенко
26 января 2016, 07:24
modx.pro
1 720
0

Очень хочу научиться и готов за это платить

Уважаемые! Наймусь работником в готовый работающий проект с целью изучить php на практике, с моей оплатой. Теоритические познания имеются, а вот практики нет. Очень хочу научиться просьба помочь кто чем может, обязуюсь быть исполнительным и очень старательным, с моей стороны оплата вашего времени, да и работа будет делаться на халяву
Адиль
26 января 2016, 07:20
modx.pro
1 104
0

OnDocUnPublished при unpub_date

Добрый день!
Вопрос будет ли отрабатывать event OnDocUnPublished (https://rtfm.modx.com/revolution/2.x/developing-in-modx/basic-development/plugins/system-events/ondocunpublished) при автоматическом снятии с публикации.
Судя по описанию
Called when a Resource is unpublished via the Unpublish context menu.
нет, но решил уточнить у более опытных людей.
И какие ещё есть способы «отловить» автоматическое снятие с публикации?
Спасибо!
Олег
26 января 2016, 07:17
modx.pro
1
1 884
0

[msProductRemains] Остатки без свойств и другое

Продолжаю работу над компонентом msProductRemains для складского учёта товаров для магазина miniShop2 и представляю вам новые возможности компонента.

1. Поддержка бесконечного количества свойств для учёта.
Ранее можно было указать максимум 2 свойства товара для ведения учёта по ним. Но теперь вы можете указывать какое угодно количество свойств и все они будут корректно учитываться.
Сергей Фещуков
26 января 2016, 03:55
modx.pro
2 269
+2

Ошибка Language string not found: "and"

Доброго времени суток!
Я пишу небольшой парсер и столкнулся с такой проблемой:
При попытке создания документа, заголовок которого повторяется, появляется ошибка в логе
Language string not found: «and»
— Как обойти эту ошибку, что-то не представляю((
Хотя, если же через админку создавать документы с одинаковыми названиями, они создаются без проблем, ну это все знают.
Создаю документы так:
$response = $modx->runProcessor('resource/create', array( 
        'parent' => 2,
        'pagetitle' => $_POST['title'][$i], 
        'longtitle' => $_POST['title'][$i],
        'published' => '1',
        'template' => '2',
        'description' => $_POST['title'][$i],
        'content' => ""));
        if($response->isError()){ print "Произошла ошибка". $response->getMessage();
        }
        else{ $object = $response->getObject(); print "\n"; print "Был создан документ с ID {$object['id']}";
       
		}
Дмитрий
25 января 2016, 19:17
modx.pro
3 840
0

Реально ли сделать это на msDiscount?

Добрый вечер!

Нужно сделать, чтобы клиент мог получить активный скидочный купон по ссылке(дисконты одноразовые с qr кодами напечатаем). Соответственно как только этот купон кто-то использует по ссылке появляется следующий, до тех пор пока не будут израсходованы все.

Никакого учета уже использованных не нужно. Зашел, получил, купил. Хоть 10 раз.

Можно ли это реализовать на msDiscount?

Решил спросить прежде чем покупать :)
Николай Артамонов
25 января 2016, 15:28
modx.pro
1
945
0

Вывод пользователей при помощи pdoFetch

Всем привет!
Нужно сделать вывод пользователей при помощи pdoFetch.
Владислав
25 января 2016, 11:42
modx.pro
1
1 442
0

Замена digitalocean.com рублевым аналогом

Доброго дня всем! Есть необходимость заменить digitalocean.com «рублевым» аналогом на время кризиса.
Владимир
25 января 2016, 10:43
modx.pro
2
5 926
+4