0

私はコントローラーdigitalを持っており、そのコントローラー内で私の関数の 1 つは widget であり、その後、highlightなどのウィジェットのいくつかのパブリック関数です。

ビューは digital/widgets/highlights.php として設定されます

URL を domain.com/digital/widget/highlights とブレッドクラム (オートクラム) として表示したい

public function widget()
{
$header["pageTitle"] = "TV Listing Widgets and Snippets";

$this->load->helper('breadcrumb');

$this->load->view('templates/header.php', $header);
$this->load->view('digital/widget');
$this->load->view('templates/modal.php');
$this->load->view('templates/footer.php');
}


public function highlights()
{
$header["pageTitle"] = "TV Highlights Widget";

$this->load->helper('breadcrumb');

$this->load->view('templates/header.php', $header);
$this->load->view('digital/widgets/highlights');
$this->load->view('templates/modal.php');
$this->load->view('templates/footer.php');
}

サブクラスや関数などを作成することは可能ですか?

4

4 に答える 4

0

ありがとう!うまくいった

public function widgets($widget = null) {

switch($widget) {
case 'highlights':
$this->highlights();
break;
default:
$widget = "widgets";

$this->load->view(  

などなど

于 2013-03-21T18:48:18.827 に答える
0

CI でルートを使用する必要があります。

http://ellislab.com/codeigniter/user-guide/general/routing.html

/digital/highlights/ を /digital/widget/highlights にマッピングできます。

于 2013-03-19T15:15:55.143 に答える
0

あなたがしていることは好きではありません。

CI URL の構造は次のとおりです。

domain.com/controller/function/arg1/arg2/etc...

したがって、「ハイライト」を widget($value); に渡される値にする必要があります。次に、ウィジェット関数内で、次のような IF ステートメント

if ($value == 'highlight')
{
    $this->highlight();
}

少なくとも、これはあなたがやろうとしていることだと思います

于 2013-03-19T13:54:56.917 に答える