因此,我在以下位置创建了一个仪表板“单页”:
/application/single_pages/dashboard/newsletter.php
和一个
/application/single_pages/dashboard/view.php
控制器位于:
/Concrete/controllers/single_pages/dashboard/newsletter.php
控制器看起来像:
<?php
namespace Concrete\Controller\SinglePage\Dashboard;
use Concrete\Core\Multilingual\Page\PageList;
use \Concrete\Core\Page\Controller\DashboardPageController;
class Newsletter extends DashboardPageController {
public function view() {
$testVar = array(
'one' => 'some',
'two' => 'value',
'three' => 'foo',
'four' => 'bar'
);
$this->set('test', $testVar);
}
}
的/application/single_pages/dashboard/newsletter.php
样子:
<?php defined('C5_EXECUTE') or die("Access Denied.");
echo 'something';
print_r($test);
的/application/single_pages/dashboard/view.php
样子:
<?php defined('C5_EXECUTE') or die("Access Denied.");
问题:
局部变量$test
未显示在视图中。
在echo 'something';
显示时,所以基本上网页是启动和运行。我究竟做错了什么?
这是一个路径和名称空间问题:
控制器的路径必须为:
/application/controllers/single_page/dashboard/newsletter.php
代替:
/concrete/controllers/single_pages/dashboard/newsletter.php
对于控制器路径,其单数形式,single_page
但对于单页面本身,其复数形式single_pages
从核心扩展时,我们需要将名称空间调整为:
Application\Controller\SinglePage\Dashboard
代替:
Concrete\Controller\SinglePage\Dashboard
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句