Цели Яндекс и Fenom

Добрый день!

Никак не могу вставить цели в ссылки на сайте с Fenom.
Подскажите, как это правильно сделать?

Ссылки в вызове:
{'!pdoPage' | snippet : [    
    'tpl' => '@INLINE <div class="media">
          <div class="media-body">
            <h4 class="media-heading">{$pagetitle}</h4>
            <p class="text-muted"><span class="glyphicon glyphicon-calendar"></span> {$publishedon | date_format : "%d.%m.%Y г."}</p>
            {$content}    
<p class=" article_decoration_last article_decoration_before">
       
        
 <a href="{$introtext}" target="_blank" rel="noopener noreferrer" onclick="ym(**********,'reachGoal','mainpage{$id}');">
        Читать подробности>>
  </a>
        
        
        </p>
          </div>
        </div>',    
    'limit' => 15,
   'sortby' => 'publishedon',
   'sortdir' => 'DESC', 
  ]}
  </div>
  {$_modx->getPlaceholder('page.nav')}
тег {ignore} не помог
adminixi
01 марта 2019, 09:09
modx.pro
3
878
+2

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

Максим
01 марта 2019, 09:47
+1
Правильнее будет навесить дейта-арибут с нужным пораметром и потом уже по клику js-ом проводить все нужные манипуляции. Не стоит городить в html вставки js.
    adminixi
    01 марта 2019, 10:34
    +2
    Можете написать, как это сделать?
      Максим
      01 марта 2019, 11:10
      1
      +1
      Как-то так:
      <a href="{$introtext}" data-id="{$id}" target="_blank" rel="noopener noreferrer" class="point">
              Читать подробности>>
        </a>
      
      $('.point').on('cklick', function(e) {
          e.preventDefault();
          var id = $(this).data('id');
          ym(510Х5916,'reachGoal','mainpage' + id);
      });
        adminixi
        02 марта 2019, 11:18
        0
        Спасибо!
          adminixi
          02 марта 2019, 11:37
          0
          К сожалению не работает… рано обрадовалась.
            Максим
            03 марта 2019, 12:20
            0
            Ребята, спасибо, что поправили — писал на скорую руку.
            Ну и не стоит забывать дожидаться полной загрузки страницы:
            $(document).ready(function () {
                // Тут код, который я писал выше
            });
            И в первом параметре цели у вас есть буква, что по сути говорит что это строка. Это может выдавать ошибку. Проверьте корректность данного параметра.
            Так же может не стоит убирать отмену действия по умолчанию (e.preventDefault()), а просто в конец дописать:
            document.location.href = $(this).attr('href');
      Александр Мельник
      01 марта 2019, 11:36
      0
      Тоже делаю примерно как написал Максим.
      Только e.preventDefault(); нужно убрать, иначе пользователи не будут никуда переходить по ссылке.
      А для привязки целей к формам удобно пользоваться вот этим
      docs.modx.pro/komponentyi/ajaxform#%D0%A1%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B5-af_complete
        Алексей Шумаев
        02 марта 2019, 11:58
        0
        Разделите html и js, как писал Максим. Но js поместите в отдельный файл *.js (или в свой общий). И спокойно отлаживайте свой js.

        Если нужно куски кода на страницах использовать, то можно так: https://modx.pro/help/16436#comment-102084
        И всё всегда будет работать.
        Иначе вы рискуете тратить много времени на разбор конфликтов js-кода с fenom'ом…
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8