/** * Generates an object view. * * @param mixed $handler_id The ID of the handler. * @param array $args The argument list. * @param array &$data The local request data. */ public function _handler_read($handler_id, array $args, array &$data) { $this->_mode = 'read'; $this->_load_object($handler_id, $args, $data); $this->_load_schemadb(); if ($GLOBALS['midcom_config']['enable_ajax_editing']) { // AJAX editing is possible $this->_load_controller('ajax'); $this->_controller->process_ajax(); $this->_datamanager =& $this->_controller->datamanager; } else { $this->_load_datamanager(); } $this->_prepare_request_data(); if ($this->_controller) { // For AJAX handling it is the controller that renders everything $this->_request_data['object_view'] = $this->_controller->get_content_html(); } else { $this->_request_data['object_view'] = $this->_datamanager->get_content_html(); } // Call the per-component metadata methods $this->_populate_toolbar($handler_id); $this->_update_title($handler_id); $this->_update_breadcrumb($handler_id); // Let MidCOM know about the object midcom::get('metadata')->set_request_metadata($this->_object->metadata->revised, $this->_object->guid); $this->bind_view_to_object($this->_object, $this->_datamanager->schema->name); $this->_handler_callback($handler_id, $args, $data); }