2015-03-30 54 views
0

我正在爲Concrete5中的客戶端創建一個自定義儀表板應用程序。我無法在控制器類中獲取頁面的工作方法。Concrete5 - 類方法不起作用

您可以查看我的崗位上正式concrete5論壇,完全深入解釋一下:https://www.concrete5.org/community/forums/customizing_c5/call-to-controller-method-throwing-404-page-not-found-error/

這對於生成表單

<?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); ?> 

儀表板頁面我view.php文件這是我的controller.php文件的儀表板頁面的內容

<?php defined('C5_EXECUTE') or die(_("Access Denied.")); 



    class DashboardCoreCommerceXmlViewerController extends Controller { 
     public function test_form() { 
     $uName = $this->post('uName'); 
     $this->set('uNamePosted', $uName); 
     } 
    } 

預期的功能:我在框中鍵入內容並推送搜索,'褲子'的虛擬值更改爲我輸入的內容

發生了什麼:什麼都沒有,當我點擊搜索按鈕時,頁面重新加載並且沒有信息改變。

我由位於這裏C5職員以下的教程:http://andrewembler.com/posts/basic-mvc-in-concrete5/

至於我可以告訴這個應該工作,但沒有任何反應,當我點擊搜索。我已經驗證了類中的函數正在被訪問,因爲一個print(「sometext」);在函數頂部創建以下錯誤:無法修改頭信息 - 已在(public_html/site/packages/xml_viewer/controllers/dashboard/core_commerce/xml_viewer/controller.php:6開始的輸出)發送的標頭在public_html/site /concrete/core/libraries/view.php在線

這是預料之中,因爲頭後的打印已發送,但它確實證明concrete5/.PHP是找到功能但是什麼也沒有發生與行

$this->set('uNamePosted', $uName); 

任何幫助表示讚賞,在此先感謝。即使是他們自己的工作人員的教程說,這應該是工作。

+0

小說明:我最初有一個命名空間問題與控制器的名稱 - 當我點擊搜索時得到404錯誤。解決這個問題之後,我發現它在運行時的功能不會達到預期的效果。 – SC1988 2015-03-30 22:53:17

回答

0

在Conrete5論壇上回答。

我有一個大腦放屁,並設置變量「褲」內view.php內部沒有Controller.php這樣

衛生署!