[MIGX] - Большой и страшный. UTM метки для MODX.

Привет сообществу!

Вот уж давненько я не писал вам о MIGX, соскучились небось? Можете не отвечать, знаю, что соскучились. Хотя и мои заметки с каждым разом получают всё меньше и меньше плюсов. Скажу вам по секрету: я подозреваю, что некто Василий Н. (Пальцем не буду показывать, но вот его профиль) подкручивает себе плюсы, мои также он присваивает себе и вообще он работает на Госдеп США. Ну или это просто паранойя.

Зачем?


Допустим у вас задача сделать так, чтобы у вас на сайте выводился разный контент в зависимости от GET параметра и вам лень устанавливать целый компонент для этого. Компонент это хорошо, но мы же извращенцы, давайте делать всё на MIGX? Даже MODX не нужен, «Ставьте лайки кто хочет MIGX CMS»


Должно получится нечто подобное:



Этот способ хорош тем, что у нас будет возможность создавать сколько угодно полей.

Как?
Или как написал бы Артем Зернов

КАК???



Если вы еще не ознакомились с предыдущими уроками, то советую, дабы я не повторялся. Нам нужно перейти на страницу компонента MIGX и создать конфигурацию.

Всё, что не указано мной, пропускайте!

  • Вкладка Settings

    • Nameutm
    • Замена «Добавить элемент»Добавить метку
    • Form CaptionДобавить/редактировать метку
    • Window TitleДобавить/редактировать метку
  • Вкладка Formtabs

    • Fields — Создаем 1 вкладку и в поле Fields создадим несколько полей

      1. Сама метка
        • Fieldnameutm
        • CaptionUTM метка

      2. Заголовок страницы
        • Fieldnametitle
        • CaptionЗаголовок страницы

      3. Заголовок H1
        • Fieldnamepagetitle
        • CaptionЗаголовок H1


  • Вкладка Columns

    • Поле Columns

      1. Ссылка (нужна будет для того, чтобы менеджер по клику мог увидеть как будет выглядеть страница, это удобно)
        • Вкладка Column
          • HeaderСсылка
          • Fieldlink
        • Вкладка Renderer
          • Rendererthis.renderChunk
          • renderChunk template<a href="[[~[[#GET.id]]]]?utm=[[+utm]]" target="_blank">Посмотреть</a>

      2. Метка
        • Вкладка Column
          • HeaderМетка УТП
          • Fieldutm
        • Вкладка Cell Editor
          • Editorthis.textEditor

      3. Заголовок страницы
        • Вкладка Column
          • HeaderЗаголовок страницы
          • Fieldtitle
        • Вкладка Cell Editor
          • Editorthis.textEditor

      4. Заголовок H1
        • Вкладка Column
          • HeaderЗаголовок H1
          • Fieldpagetitle
        • Вкладка Cell Editor
          • Editorthis.textEditor

Идём и создаем TV utm с типом ввода migx, в поле Конфигурации пишем название нашей конфигурации, т.е. utm, назначаем нужные шаблоны и открываем на редактирование ресурс, ну или же его создаем.

Сниппет utm

Создайте сниппет и укажите название utm с таким кодом:

<?php
$utm_point = $modx->stripTags($_GET['utm']);
$migx = $modx->resource->getTVValue('utm');
$array = $modx->fromJSON($migx);

if(!empty($input)) {
    foreach($array as $utm) {
        if($utm['utm'] == $utm_point && !empty($utm[$input])) return $utm[$input];
    }
}
return;

Как вывести?

Очень просто, вот примеры:

// Синтаксис MODX

<head>
    <title>[[!utm:default=`Заголовок страницы по умолчанию`? &input=`title`]]</title>
</head>

<body>
    <h1>[[!utm:default=`Заголовок H1 по умолчанию`? &input=`pagetitle`]]</h1>
</body>

// Fenom

<head>
    <title>{('title' | utm) ?: 'Заголовок страницы по умолчанию'}</title>
</head>

<body>
    <h1>{('pagetitle' | utm) ?: 'Заголовок H1 по умолчанию'}</h1>
</body>

Вот таким нехитрым способом можно добиться нашей цели. Если вы еще не поняли, то мы можем создать сколько угодно полей, изображения, целые контенты, описания и вообще всю страницу менять в зависимости от utm метки. Единственный минус это то, что у MIGX не реализована пагинация у TV?‍♂️
Вступайте в группу MODX Contributors

Всем спасибо за внимание, а мне потому что я Баха?

Если вдруг кому-то захочется поблагодарить рублём, то так уж и быть: Карта Сбербанка +79609354545
Баха Волков
24 февраля 2019, 18:02
8
698
+32
Поблагодарить автора Отправить деньги

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

Сергей
24 февраля 2019, 18:48
0
Поблагодарил, спасибо!
Это сообщение было удалено
    Это сообщение было удалено
Это сообщение было удалено
    Это сообщение было удалено
    Это сообщение было удалено
      Это сообщение было удалено
        Это сообщение было удалено
          Это сообщение было удалено
            Это сообщение было удалено
              Это сообщение было удалено
                Это сообщение было удалено
Василий Наумкин
25 февраля 2019, 13:41
+1
Чат в телеграме опять забыли закрыть и флудеры разбежались.

Всё потёр, впредь прошу не сорить.
    Это сообщение было удалено
      Василий Наумкин
      25 февраля 2019, 15:41
      0
      Вставлять километровые картинки тоже не нужно. Комментарии удалены не для того, чтобы ты вставил обратно их же, но картинками.

      Я понятия не имею, что за чушь вы тут несли про скручивание просмотров и воровство лайков.
      Если это реальная проблема — то её нужно обрисовать мне, как я и попросил. Если это такая тонкая шутка — то я не в теме, и лучше подобное оставить у себя в чатике.

      Прошу уточнить, к заметкам это тоже относиться? Ведь в моих заметках 10-20% «мусора»
      Лично я смогу обойтись без смайликов и шутеек в тексте, но ты уж сам решай.
Лазарев Роман
29 апреля 2019, 10:17
0
Статья шикарна, спасибо.
Вопрос, кнопка «Посмотреть» меня не ведет на страницу joxi.ru/n2Ybja3ib7805A — так и должны быть? Сделал как указано выше.
    Баха Волков
    29 апреля 2019, 21:01
    0
    Пожалуйста, Роман!

    Вопрос, кнопка «Посмотреть» меня не ведет на страницу joxi.ru/n2Ybja3ib7805A — так и должны быть?
    А pdoTools или fastField установлен?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.