Виджеты MODX. MODX Revolution создание простого виджета для панели администратора
Это очень простой способ создания пользовательских виджетов для создания нового сообщения в панели администратора. Например, у меня есть контейнер с идентификатором 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 на вкладке Системные события.
Услуги по MODX Revolution
Посмотреть все услуги
Оптимизация сайта
Подробнее & Заказать
Создание сайта на MODX Revolution
Подробнее & Заказать
Перенос сайта на MODX Revolution
Подробнее & Заказать
Комментарии ()