We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6141
    • 6 Posts
    Как можно в данной менюшке добавить функцию "Удалить дочерние ресурсы" ?

    Или как по другому можно из админки сделать удаление вложенных страниц?

    Спасибо.
      • 32725
      • 107 Posts
      Если не критично добавление кнопки именно в это меню, то можно написать плагин, который добавлял бы кнопку при редактировании документа (рядом с "сохранить", "отмена" и т.д.)

      Если все же критично, то только с небольшими изменением исходного кода.
        My portfolio
        Самурай без меча подобен самураю с мечом, только без меча.
        • 32725
        • 107 Posts
        Если не пугает изменение кода, то вот список того, что нужно поменять (писал для Evo 1.0.2):

        /manager/frames/tree.php:
        Приблизительно на 534 строке после
                case 12 : // preview (alternate methods commented out)
                    window.open("../index.php?id=" + itemToChange,'previeWin'); //re-use 'new' window
                    //window.open("../index.php?id=" + itemToChange); //open in new window each time
                    //top.main.document.location.href="../index.php?id=" + itemToChange; //open in manager
                    break
        

        Добавить:
                case 13 : // delete children
                    if(selectedObjectDeleted==0) {
                        if(confirm("'" + selectedObjectName + "'\n\nВы действительно хотите удалить дочерние документы?")==true) {
                            top.main.document.location.href="index.php?a=-6&id=" + itemToChange + "&notself=true";
                        }
                    } else {
                        alert("'" + selectedObjectName + "' <?php echo $_lang['already_deleted']; ?>");
                    }
                    break
        


        Где-то на 569-й строке после
        constructLink(8, $_style["icons_undelete_resource"], $_lang["undelete_resource"], $modx->hasPermission('delete_document')); // undelete

        Добавить:
        constructLink(13, $_style["icons_delete"], 'Удалить дочерние', $modx->hasPermission('delete_document')); // delete children


        /manager/index.php:
        Приблизительно на 306 строке после
            case "6" :

        Добавить:
            case "-6" :


        /manager/processors/delete+content_processor.php:
        93-я строка. Заменить:
        //ok, 'delete' the document.
        $sql = "UPDATE $dbase.`".$table_prefix."site_content` SET deleted=1, deletedby=".$modx->getLoginUserID().", deletedon=$deltime WHERE id=$id;";
        $rs = mysql_query($sql);

        На:
        // Do not delete self
        $not_self = isset($_GET['notself']) ? $_GET['notself'] : FALSE;
        
        //ok, 'delete' the document.
        if (!$not_self) {
            $sql = "UPDATE $dbase.`".$table_prefix."site_content` SET deleted=1, deletedby=".$modx->getLoginUserID().", deletedon=$deltime WHERE id=$id;";
            $rs = mysql_query($sql);
        } else {
            $rs = TRUE;
        }

          My portfolio
          Самурай без меча подобен самураю с мечом, только без меча.
          • 6623
          • 127 Posts
          Модули -> Doc Manager -> Другие свойства: Там есть выпадающий список "Различные свойства ресурсов", выбирай "удаление" и вводи диапазон...
            • 1788
            • 1,103 Posts
            Quote from: DAS at Mar 08, 2010, 06:13 PM

            Модули -> Doc Manager -> Другие свойства: Там есть выпадающий список "Различные свойства ресурсов", выбирай "удаление" и вводи диапазон...
            +1
            Проблема не столь используемая, чтобы править код движка.