Вывод чанка в зависимости от параметра в ссылке

Добрый вечер, коллеги.

Подскажите пожалуйста начинающему Modx пользователю.

Суть задачи — на сайте есть много страниц, под сео продвижение, и одновременно, эти же страницы служат как «лендинги» для контекстной рекламы. Задача состоит в том, чтобы при переходе пользователя с контекста (Яндекс директ например) сайт не отображал чанк с меню.

Как я понимаю, команду спрятать чанк лучше всего передать через параметр в ссылке.
Только как это сделать на практике — не представляю.

Через сниппет, который парсит ссылку и определяет наличие необходимого параметра?
И как в этом случае дело обстоит с кэшированием? Кэш будет постоянно меняться?

Самый простой вариант — сделать дубли страниц с отдельным шаблоном, но это как-то… неправильно что-ли…
SevenSky
17 июня 2015, 20:05
modx.pro
2
1 221
0

Комментарии: 5

Володя
17 июня 2015, 23:28
+1
<script>
var data = {};
var p = decodeURIComponent(location.search.substr(1)).split('&');

for(i in p) {
    var d = p[i].split('=');
    data[d[0]] = d[1];
}
if ('параметр' in data) {
    $('.navbar').hide();
}
</script>
    Василий Столейков
    18 июня 2015, 09:12
    +2
    Как вариант использовать pdoParser (включённая галочка при установке pdoTools:
    [[!#GET.paremetr:is=`1`:then=`[[$chunk-menu]]`]]
    где параметр = &parametr=1
      Илья Уткин
      18 июня 2015, 10:46
      +1
      [[!hideOnDirect? &chunk=`nav`]]

      <?php
      if (!$_GET['direct']) {
      	$key = $chunk;
      	if(!$output = $modx->cacheManager->get($key)) {
      		$output = $modx->getChunk($chunk);
      		$modx->cacheManager->set($key, $output);
      	}
      	return $output;
      }
      return;

      Ну и ссылка должна быть такой: site.com/?direct=1
        SevenSky
        18 июня 2015, 19:53
        0
        Илья, спасибо, выбрал ваш способ, все сразу заработало.
        Остался только вопрос с нагрузкой и кэшем — получается он будет постоянно обновляться или нет?
          Илья Уткин
          18 июня 2015, 23:42
          0
          Нагрузки лишней не будет — всё, что надо закешируется.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5