We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 44407
    • 3 Posts
    I setup my custom resource class via this tutorial http://rtfm.modx.com/display/revolution20/Creating+a+Resource+Class and everything works as expected. The problem however is that I extended modResourceCreateProcessor, but it is not being called at all (I am not being redirected to google when I launch the create manager for my CPC). For some reason my extended class of modResourceCreateProcessor with the override methods are not being called

    I have also assigned the Resource to this CRC in the Manager UI

    MODX Revolution 2.2.8-pl (traditional)

    core/components/eventresource/model/schema/eventresource.mysql.schema.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <model package="eventresource" version="1.0" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM">
        <object class="EventResource" extends="modResource" />
    </model>
    


    core/components/eventresource/model/eventresource/eventresource.class.php

    <?php
    require_once MODX_CORE_PATH.'model/modx/modprocessor.class.php';
    require_once MODX_CORE_PATH.'model/modx/processors/resource/create.class.php';
    require_once MODX_CORE_PATH.'model/modx/processors/resource/update.class.php';
    
    class EventResource extends modResource {
    	
        public $showInContextMenu = true;
        
        function __construct(xPDO & $xpdo) {
    		
            parent :: __construct($xpdo);
            $this->set('class_key','EventResource');
        }
        
        public static function getControllerPath(xPDO &$modx) {
    		return $modx->getOption('eventresource.core_path',null,$modx->getOption('core_path').'components/eventresource/').'controllers/';
    	}
    
    	public function getContextMenuText() {
    		return array(
    			'text_create' => 'Event Page',
    			'text_create_here' => 'Create a Event Page Here',
    		);
    	}
    	
    	public function getResourceTypeName() {
    		return 'Event Page';
    	}
    	
    	public function getContent(array $options = array()) {
    		$content = parent::getContent($options);
    		$content .= '<div class="event">event</div>';
    		return $content;
    	}
    }
    
    class EventResourceCreateProcessor extends modResourceCreateProcessor {
    	
        public function beforeSet() {
            $beforeSet = parent::beforeSet();
    		header( 'Location: http://google.com' );
            return $beforeSet;
        }
    }
    
    class EventResourceUpdateProcessor extends modResourceUpdateProcessor {
    	
    }
    


    core/components/eventresource/controller/create.class.php

    <?php
    class EventResourceCreateManagerController extends ResourceCreateManagerController {}
    
    [ed. note: guitarcrazy44 last edited this post 13 years, 2 months ago.]