Автоматические псевдонимы MIGX



  • Версия modx 2.5.0
    Версия migx 2.9.6
    Перестал работать плагин migx_autoalias из документации:

    <?php
    
    /**
     * migx_autoalias
     *
     * OnDocFormSave
     *
     */
    
    /*
    
    $modx->invokeEvent( 'OnDocFormSave', array( 'id' => $object->get('id'), 'object' => &$object ) );
    
    */
    
    $namefield = $modx->getOption( 'namefield', $scriptProperties, 'pagetitle' );
    
    if( $object->get('resource_id') ){
        
        if( !$object->get('alias') ){
            
            $resource = $modx->newObject('modResource');
            $alias = $resource->cleanAlias( $object->get( $namefield ) );
            
            $object->set( 'alias', $alias );
            $object->save();
            
        }
        
    }
    
    return '';
    

    Вот примерно исправленная версия:

    <?php
    /**
     * migx_autoalias
     *
     * OnDocFormSave
     *
     */
    
    /*
    
    $modx->invokeEvent( 'OnDocFormSave', array( 'id' => $object->get('id'), 'object' => &$object ) );
    
    */
    
    $namefield = $modx->getOption( 'namefield', $scriptProperties, 'pagetitle' );
    
    if( $resource->get('resource_id') ){
        
       if( !$resource->get('alias') ){
            
            $res = $modx->newObject('modResource');
            $alias = $res->cleanAlias( $resource->get( $namefield ) );
            
            $resource->set( 'alias', $alias );
            $resource->save();
            
        }
        
    }
    
    return '';
    

    Так работает, но хотелось бы проверить на адекватность кода)



  • Эта запись удалена!

  • Администраторы

    Если вы поменяли только имя переменной, то на счет кода думаю опасаться не стоит. Главнео чтобы работало.



Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.