I am trying to create a custom dashboard application in Concrete5 for a client of mine. I am having trouble getting methods inside the controller class for the page to work.
You can view my post on the official concrete5 forums for a completely in-depth explanation here: http://ift.tt/1DmvwPh
This is my view.php file for the dashboard page which generates the form
<?php defined('C5_EXECUTE') or die(_("Access Denied."));
$dh = Loader::helper('concrete/dashboard');
$ih = Loader::helper('concrete/interface');
$uNamePosted = "Pants";
$help = 'This add-on works in conjuction with my XML Export add-on ';
$help .= 'this is a new dashboard page which allows you to open these';
$help .= 'XML files, edit and then save them, so that you can then';
$help .= 'import them using Core Commerce Import.';
echo $dh->getDashboardPaneHeaderWrapper(t('XML Viewer'), t($help), 'span8', false);
?>
<div class="ccm-pane-body">
<?php echo $uNamePosted; ?>
<form method="post"
action="<?php echo $this->action('test_form'); ?>">
<input type="text" name="uName" value="" />
<input type="submit" value="Search" />
</form>
</div>
<?php echo $dh->getDashboardPaneFooterWrapper(false); ?>
This is the contents of my controller.php file for the dashboard page
<?php defined('C5_EXECUTE') or die(_("Access Denied."));
class DashboardCoreCommerceXmlViewerController extends Controller {
public function test_form() {
$uName = $this->post('uName');
$this->set('uNamePosted', $uName);
}
}
Expected functionality: I type something in the box and push search, the dummy value of 'pants' is changed to what I typed
What is happening: Nothing, when I hit the search button the page reloads and no information is changed.
I am following a tutorial by a C5 staff member located here: http://ift.tt/1CqEkjl
As far as I can tell this should work but nothing happens when I hit search. I have verified that the function inside the class is being accessed because a print("sometext"); at the top of function creates the following error: Cannot modify header information - headers already sent by (output started at public_html/site/packages/xml_viewer/controllers/dashboard/core_commerce/xml_viewer/controller.php:6) in public_html/site/concrete/core/libraries/view.php on line 963
Which is expected because its printing after headers have been sent, but it does prove that concrete5/.PHP is finding the function however nothing happens with the line
$this->set('uNamePosted', $uName);
Any help is appreciated, thanks in advance. Even the tutorial from their own staff member says this should be working.
Aucun commentaire:
Enregistrer un commentaire