具体5:如何在类似Laravel的页面上以编程方式呈现RESTful内容
我试图做的是分解c5单页控制器和视图,使其更接近RESTful API 以分类广告包为例。它在packages/Classifieds/controllers/single_page/Dashboard/Classifieds.php中有一个名为Classifieds的仪表板控制器,在packages/Classifieds/single_page/Dashboard/Classifieds.php中有一个对应的单页视图。此页面与任何其他仪表板页面一样以模板和主题显示 控制器有许多操作:查看、添加、编辑、保存、删除等。所有代码都在一公里长的文件中。与视图相同,所有动作视图都位于一公里长的文件中。一切正常-没问题。但查找和编辑是一场噩梦 我想要的是以下内容。我希望能够有一个单一的仪表板模板页面(例如,像Laravel的布局app.blade.php)和一些独立的视图文件,其内容取决于控制器的操作,例如index.php、create.php、edit.php、show.php等,这些文件将插入主模板页面。这样,每个文件都会很好,很短。这能做到吗 我试着遵循这个文件: 但它不起作用,因为所有c5主题都需要样式表,而我的内容无法呈现。我试过这个: 线路员:具体5:如何在类似Laravel的页面上以编程方式呈现RESTful内容,laravel,rest,render,concrete5,Laravel,Rest,Render,Concrete5,我试图做的是分解c5单页控制器和视图,使其更接近RESTful API 以分类广告包为例。它在packages/Classifieds/controllers/single_page/Dashboard/Classifieds.php中有一个名为Classifieds的仪表板控制器,在packages/Classifieds/single_page/Dashboard/Classifieds.php中有一个对应的单页视图。此页面与任何其他仪表板页面一样以模板和主题显示 控制器有许多操作:查看、添
use Concrete\Core\Routing\RouteListInterface;
use Concrete\Core\Routing\Router;
class RouteList implements RouteListInterface
{
public function loadRoutes($router)
{
$api = $router->buildGroup()
->setPrefix('/dashboard')
->setNamespace('MyPackage\Controllers')
->routes(function($groupRouter) {
$groupRouter->get('/my_package', 'TestController::index');
});
}
}
控制器:
use Concrete\Core\Http\ResponseFactoryInterface;
use Concrete\Core\Controller\Controller;
use Concrete\Core\View\View;
class TestController extends Controller
{
protected $responseFactory;
public function __construct(ResponseFactoryInterface $responseFactory)
{
$this->responseFactory = $responseFactory;
}
public function index()
{
$view = new View('test');
$view->setPackageHandle('my_package');
$view->setController($this);
$view->setViewTheme('elemental');
$view->setViewTemplate('full');
$this->set('content', 'This is a test');
return $this->responseFactory->view($view);
}
}
视图:
<?php defined('C5_EXECUTE') or die("Access Denied.");
echo $content;
?>