Главная » Разное » Плагин autoRedirect - простое перенаправление в MODx
Куда Вы попали?

Информационная связь с потребителем, безусловно, реально стабилизирует социометрический рейтинг, не считаясь с затратами. Стиль менеджмента стабилизирует конвергентный анализ зарубежного опыта, оптимизируя бюджеты. Емкость рынка вырождена. Стратегический маркетинг, не меняя концепции, изложенной выше, основан на тщательном анализе данных.
А если серьёзно, это просто блог.

Нужен сайт?

Тогда, возможно, Вы попали туда куда нужно.
Я занимаюсь созданием сайтов "под ключ".
Оцените качество работы, посмотрев
портфолио. Если Вы не рассчитываете на демпинг, связаться со мной можно при помощи формы обратной связи.




Для "спасибо"
Установите Flash-плеер

Авторизация

Есть что сказать?


Плагин autoRedirect - простое перенаправление в MODx

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

Установка

  1. Создайте TV-параметр. "Элементы" -> "Управление элементами" -> "Параметры (TV)" -> "Новый параметр (TV)".
  2. Имя параметра: например firstChild
    Заголовок: Перенаправить
    Тип ввода: Check Box
    Возможные значения: На первый документ==1
  3. В блоке "Доступ шаблонов" отметьте шаблон страниц, для которых будет доступен этот параметр. Нажмите кнопку "Сохранить".
  4. Создайте плагин. "Элементы" -> "Управление элементами" -> "Плагины" -> Создать плагин".
  5. Название плагина: autoRedirect
    Код плагина:
    //***********************************
    // autoRedirect plugin v1.0 for MODx 1.x
    //***********************************
    // Andchir  http://wdevblog.net.ru
    //***********************************
    // Configuration: &tv_name=TV name;string;firstChild
    // System Events: OnWebPagePrerender
    //***********************************
     
    if(!isset($tv_name)) $tv_name = "firstChild";
     
    $e = &$modx->Event;
     
    if ($e->name == 'OnWebPagePrerender'){
     
      $redirect = $modx->getTemplateVarOutput($tv_name);
      if($redirect[$tv_name]){
        $children = $modx->getActiveChildren($modx->documentIdentifier, 'menuindex', 'ASC');
        if (!$children === false) {
          $firstChild= $children[0];
          $firstChildUrl= $modx->makeUrl($firstChild['id']);
          $modx->sendRedirect($firstChildUrl);
        }
      }
      $e->output($tv_name);
      
    }
  6. На вкладке "Конфигурация" в поле "Конфигурация плагина" вставьте такой код:
    &tv_name=TV name;string;firstChild

    Нажмите кнопку "Обновить параметры".
    В поле "TV name" введите имя созданного ранее TV-параметра - firstChild.
  7. На вкладке "Системные события" отметьте событие "OnWebPagePrerender".
  8. Нажмите кнопку "Сохранить". Готово.

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



Написать комментарий

  • Обязательные для заполнения поля помечены знаком *.
Код подтверждения:


Andchir
Ответов: 1
Комментарий
2 style-nes
Ответ #2 дата : Thu March 18, 2010, 21:09:10
Не знаю как объяснить понятнее чем выше в тексте :)
style-nes
Ответов: 1
Комментарий
Re: Плагин autoRedirect - простое перенаправление в MODx
Ответ #1 дата : Thu March 18, 2010, 10:49:31
Немного не понимаю зачем это нужно.