Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

MODX статьи, уроки и готовые решения для MODX Revo

Сайдбар

Виджеты MODX. MODX Revolution создание простого виджета для панели администратора

09 июля 2013

Это очень простой способ создания пользовательских виджетов для создания нового сообщения в панели администратора. Например, у меня есть контейнер с идентификатором 380 в котором находятся документы.


Итак, что я хотел бы сделать, это создать виджет, который бы выводил блок с ссылкой для создания нового документа в разделе Документация с автоматическим присваиванием шаблона. В моем случае это шаблон Документация с id 33.
Отлично, первый шаг заключается в создании виджета. переходим в Панели -> щелкните на вкладке Виджеты и нажмите на кнопку Создать виджет. В поле имя вводим название вашего виджета. В содержимое виджета вставляем этот код:

<code><style type="text/css">
.btn-new {
background-image:url("[[++site_url]]manager/templates/default/images/restyle/icons/folder_page_add.png");
background-position: left;
background-repeat: no-repeat;
padding:5px 3px 3px 3px;
}
.btn-new a{
margin-left:15px;
color:#444444;
text-decoration:none;
margin-top:10px
}
.btn-new a:hover{
margin-left:15px;
color:#666;
text-decoration:underline;
}
</style>
 
<ul>
<li class="btn-new">
<a href="[[++site_url]]manager/index.php?a=55&class_key=modDocument&parent=380&context_key=web">
 Добавить новую статью </a>
<!-- change parent=2 to suit your needs  -->
</li>
</ul></code>

Сохраняем виджет. Теперь переходим на вкладку Панели, жмем правую кнопку мыши на нашей панели — редактировать. Жмем кнопку Добавить виджет и в выпадающем списке выбираем только что созданный виджет.
Результат выглядеть должен примерно так


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

Таким образом, мы собираемся создать новый плагин с таким кодом:

<code>if ($_GET['a'] = 55) {
  $parentID = (int) $_REQUEST['parent'];
  if ($parent = $modx->getObject('modResource', $parentID)) {
    if ($parent->get('alias') == 'documentation') {  // алиас родительского ресурса
      $newsTpl = 33; // id шаблона 
      $_GET['template'] = $newsTpl;
    }
  }
}


Перед сохранением необходимо проверить OnHandleRequest на вкладке Системные события.

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (1)

  1. it-comweb 20 января 2016, 20:10 # 0
    Спасибо как раз искал

    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать