Skip to content
  1. Компоненты
  2. ResourceGrabber
  3. Разработка
  4. События

События

Доступны следующие события:

  • rgOnBeforeGetEffectiveUrl
  • rgOnAfterGetEffectiveUrl - получение прямой ссылки.
    • data - дата объект.
    • url - ссылка.
    • value - полученная ссылка.
    • clear - флаг.

Примеры

Подменить url при защите от парсинга страницы товара:

php
<?php

if ($modx->event->name === 'rgOnAfterGetEffectiveUrl') {

    if (!empty($value)) {
      return;
    }

    $parts = parse_url($url);
    $host = isset($parts['host']) ? $parts['host'] : '';

    $return = false;
    switch (true) {
      case $host[0] !== 'm' AND preg_match("!aliexpress.!usi", $host):
        $parts['host'] = 'm.' . $host;
        $return = true;
        break;
    }


    if ($return) {
      if (!empty($parts['scheme'])) {
        $value = $parts['scheme'] . '://' . $parts['host'];
      } else {
        $value = '//' . $parts['host'];
      }
      if (!empty($parts['path'])) {
        $value .= $parts['path'];
      }
    }

    if ($value) {
      $modx->event->returnedValues['value'] = $value;
    }

}