This is the create.class.php controller, in /controllers/container/.
Is this what you're looking for?
<?php
require_once $modx->getOption('manager_path',null,MODX_MANAGER_PATH).'controllers/default/resource/create.class.php';
class JewelleryContainerCreateManagerController extends ResourceCreateManagerController {
/** @var JewelleryContainer $resource */
public $resource;
public function loadCustomCssJs() {
$this->prepareResource();
$managerUrl = $this->context->getOption('manager_url', MODX_MANAGER_URL, $this->modx->_userConfig);
$jewelleryAssetsUrl = $this->modx->getOption('comparejewellery.assets_url',null,$this->modx->getOption('assets_url',null,MODX_ASSETS_URL).'components/comparejewellery/');
$connectorUrl = $jewelleryAssetsUrl.'connector.php';
$jewelleryJsUrl = $jewelleryAssetsUrl.'js/';
$this->addJavascript($managerUrl.'assets/modext/util/datetime.js');
$this->addJavascript($managerUrl.'assets/modext/widgets/element/modx.panel.tv.renders.js');
$this->addJavascript($managerUrl.'assets/modext/widgets/resource/modx.grid.resource.security.js');
$this->addJavascript($managerUrl.'assets/modext/widgets/resource/modx.panel.resource.tv.js');
$this->addJavascript($managerUrl.'assets/modext/widgets/resource/modx.panel.resource.js');
$this->addJavascript($managerUrl.'assets/modext/sections/resource/create.js');
$this->addJavascript($jewelleryJsUrl.'comparejewellery.js');
$this->addJavascript($jewelleryJsUrl.'container/container.common.js');
$this->addJavascript($jewelleryJsUrl.'container/container.jewelleries.grid.js');
$this->addLastJavascript($jewelleryJsUrl.'container/create.js');
$this->addHtml('
<script type="text/javascript">
// <![CDATA[
CompareJewellery.assets_url = "'.$jewelleryAssetsUrl.'";
CompareJewellery.connector_url = "'.$connectorUrl.'";
MODx.config.publish_document = "'.$this->canPublish.'";
MODx.onDocFormRender = "'.$this->onDocFormRender.'";
MODx.ctx = "'.$this->resource->get('context_key').'";
Ext.onReady(function() {
MODx.load({
xtype: "comparejewellery-page-jewellery-container-create"
,resource: "'.$this->resource->get('id').'"
,record: '.$this->modx->toJSON($this->resourceArray).'
,publish_document: "'.$this->canPublish.'"
,canSave: '.($this->canSave ? 1 : 0).'
,canEdit: '.($this->canEdit ? 1 : 0).'
,canCreate: '.($this->canCreate ? 1 : 0).'
,canDuplicate: '.($this->canDuplicate ? 1 : 0).'
,canDelete: '.($this->canDelete ? 1 : 0).'
,show_tvs: '.(!empty($this->tvCounts) ? 1 : 0).'
,mode: "create"
});
});
// ]]>
</script>');
/* load RTE */
$this->loadRichTextEditor();
}
public function prepareResource() {
$settings = $this->resource->getProperties('comparejewellery');
if (empty($settings)) $settings = array();
$defaultContainerTemplate = $this->modx->getOption('comparejewellery.default_container_template',$settings,false);
if (empty($defaultContainerTemplate)) {
/** @var modTemplate $template */
$template = $this->modx->getObject('modTemplate',array('templatename' => 'Jewellery Category'));
if ($template) {
$defaultContainerTemplate = $template->get('id');
}
}
$this->resourceArray['template'] = $defaultContainerTemplate;
$defaultArticleTemplate = $this->modx->getOption('comparejewellery.jewellery_article_template',$settings,false);
if (empty($defaultArticleTemplate)) {
/** @var modTemplate $template */
$template = $this->modx->getObject('modTemplate',array('templatename' => 'Jewellery'));
if ($template) {
$defaultArticleTemplate = $template->get('id');
}
}
$this->resourceArray['setting_jewelleryTemplate'] = $defaultArticleTemplate;
foreach ($settings as $k => $v) {
$this->resourceArray['setting_'.$k] = $v;
}
}
/**
* Return the pagetitle
*
* @return string
*/
public function getPageTitle() {
return 'New Jewellery Category';
}
}