it-swarm.dev

デフォルトのビュー名とは異なるコンポーネント名、デフォルトのビューを表示する方法は?

私のコンポーネントの名前は「com_xsomething」です(区別するため)。

私のメインビューは「何か」と呼ばれます。

ビューに「xSomething」ではなく「Something」という名前を付けたいと思います。

メインコントローラのdisplay()関数を記述して、「Something」ビューを表示し、Joomlaで「xSomething」を検索しないようにするにはどうすればよいですか?

私は以下のコードを試しましたが、惨めに失敗しました:

class xSomethingController extends JControllerLegacy{
    function display(){
        $viewsomething = $this->getView('Something');
        $viewsomething->display();
    }
}

エラー:

500ビューが見つかりません[名前、タイプ、プレフィックス]:何か、、xsomethingView

コンポーネントのコンテキストでは意味がないため、ビューに「xSomething」という名前を付けることはできません。

2
user3804927

APIのドキュメントを確認してコードをいじってみて、自分の質問に答えました。

ビュータイプとビュークラスプレフィックスを指定することで、別のビューを表示することができました。

class xSomethingController extends JControllerLegacy{
    function display(){
        $viewsomething = $this->getView('Something', 'html', 'xSomethingView');
        $viewsomething->display();
    }
}
2
user3804927