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

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

skype: metsof
email: accusser@gmail.com

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

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

Авторизация

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

Сайдбар

Виджеты 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

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