Главная » PHP » Вставка кнопок на стартовую страницу MODx Evo
Куда Вы попали?

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

Нужен сайт?

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



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

Авторизация

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


Вставка кнопок на стартовую страницу MODx Evo

Наверно многие слышали (читали), что в MODx Evolution (1.0) появилась возможность настраивать страницу приветствия. В системных событиях плагинов появились два новых события: OnManagerWelcomeHome и OnManagerWelcomeRender. Давно уже у меня была идея сделать какой-то модуль для этого, а теперь всё значительно упростилось.

Для того чтобы вставлять дополнительные кнопки на стартовую страницу (в админке) можно написать просьтенький плагин. Вот, что у меня получилось:

/*
 Andchir - http://wdevblog.net.ru
 ----------------------------
 WelcomeIcons plugin for MODx Evolution
 ----------------------------
 Configuration: &icon_path1=1. Icon path:;string; &label1=1. Label:;string; &url1=1. Url:;string; &icon_path2=2. Icon path:;string; &label2=2. Label:;string; &url2=2. Url:;string; &icon_path3=3. Icon path:;string; &label3=3. Label:;string; &url3=3. Url:;string;
 System Events: OnManagerWelcomeHome
*/
 
$output = "";
$e = &$modx->Event;
 
if($e->name == 'OnManagerWelcomeHome'){
  
  for($i=1;$i<=3;$i++){
    if(!empty(${'label'.$i})){
      list($action,$id) = explode('||',${'url'.$i});
      $output .= '
        <span class="wm_button" style="border:0"><a class="hometblink" href="http://evo/manager/index.php?a='.$action.'&id='.$id.'"><img src="'.${'icon_path'.$i}.'" alt="'.${'label'.$i}.'" /><br />'.${'label'.$i}.'</a></span>
      ';
    }
  }
  
$e->output($output);
 
}

В поле "Конфигурация плагина" вставляем такую строку:
&icon_path1=1. Icon path:;string; &label1=1. Label:;string; &url1=1. Url:;string; &icon_path2=2. Icon path:;string; &label2=2. Label:;string; &url2=2. Url:;string; &icon_path3=3. Icon path:;string; &label3=3. Label:;string; &url3=3. Url:;string;

Системное событие - OnManagerWelcomeHome.

Теперь можно вставить 3 новые кнопки. Icon path - путь до картинки (например ../assets/images/shop.png); Label - название модуля или чего угодно куда хотите сделать ссылку; Url (a||id) - это строка которая состоит из 2х цифр, разделенных двумя вертикальными линиями. Эти цифры можно посмотреть в строке состояния браузера при наведении курсора на нужный вам раздел. Например, если видим http://.../manager/index.php?a=112&id=2, то строка будет 112||2. Пока не нашел способа как сделать этот момент удобнее.





Можно конечно обойтись и без плагина, отредактировав шаблон assets/templates/manager/welcome.html



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

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