簡體   English   中英

如何從CakePHP 3中的ctp文件訪問控制器操作

[英]How to access a controller action , from ctp file in CakePHP 3

我想從ctp文件訪問控制器操作。 在這里,我的動作名稱和ctp文件名不同。 例如,我以票據的名稱創建了一個動作,而我的ctp文件名是ticket_title。 這個怎么做 ?

這是我的動作:票

class UsersController extends AppController
{
public function ticket()
{
 $ticket=$this->Tickets->find('all');
 $this->set(compact('ticket'));
}
}

我的視圖ctp文件:ticket_title.ctp

<?php
$this->requestAction(array('controller' => 'users', 'action' => 'ticket'));

foreach($ticket as $ticket1)
{
    echo $ticket1->title."<br/>";
}

誰能幫我 ?。

最后,它通過使用render()方法工作。 在我的行動中:

public function ticket()
{
$this->loadModel('Tickets');
$ticket=$this->Tickets->find('all');
$this->set(compact('ticket'));
$this->render('ticket_title');
}

這是我的ticket_title.ctp

<?php
foreach($ticket as $ticket1)
{
    echo $ticket1->title."<br/>";
}

您可以在需要的任何其他控制器ctp文件中使用此對象

(對於控制器)

use App\Controller\ControllerName;

$ControllerNameObj = new ControllerName;

$ControllerNameObj->functionName();

(如果是ctp文件)

$abcObj = new \App\Controller\HomeController; 

$fetchdetail = $abcObj->ControllerfunctionName($parameter1, $parameter2);

是的,它可以在Cake PHP 3的CTP中工作。 您可以在需要的任何其他控制器或ctp文件中使用此對象

(對於控制器)

use App\Controller\ControllerName;

$ControllerNameObj = new ControllerName;

$ControllerNameObj->functionName();

(如果是ctp文件)

$abcObj = new \App\Controller\HomeController;

$fetchdetail = $abcObj->ControllerfunctionName($parameter1, $parameter2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM