web-dev-qa-db-ja.com

JCEを使用したWeblink add&task = weblink.go

JCE経由でWebリンクを追加すると、リンクは&task=weblink.goで追加されます

それは何ですか、そしてこれはファイルで評価されますか?

1
Lovntola

「タスク」は、コンポーネントのコントローラーの クラスメソッド (関数)です。

あなたの場合、weblinkはコントローラーであり、goはコントローラー内のメソッドです。

これがシンプルで明確なチュートリアルです: Joomla 3コンポーネントに新しいタスクを追加する方法 InmotionHostingから。

ここでは、スクリーンキャプチャされたスニペットをテキストにしますが、チュートリアルのリンクにアクセスしてください。

@/ components/com_helloworld/helloworld.php

<?php
// No direct access to this file
define('_JEXEC') or die('Restricted access');

// import joomla controller library
jimport('joomla.application.component.controller');

// Get an instance of the controller prefixed by HelloWorld
$controller = JControllerLegacy::getInstance('HelloWorld');

// Perform the Request task
$input = JFactory::getApplication()->input;
$controller->execute($input->getCmd('task'));

// Display the name of the task being executed
echo "<p>Just finished executing: " , $input->getCmd('task') , "</p>";

// Redirect if set by the controller
$controller->redirect();

@/ components/com_helloworld/controller.php

<?php
// No direct access to this file
define('_JEXEC') or die('Restricted access');

// import Joomla controller library
jimport('joomla.application.component.controller');

/**
 * Hello World Component Controller
 */
class HelloWorldController extends JControllerLegacy
{
    function shout()
    {
        echo "<p>THIS IS ME SHOUTING!</p>";
    }
}

example.com/index.php/option=com_helloworld&task=shoutでの効果は次のようになります。

これIS叫んで!
実行を終了しました:叫ぶ

生成されたソースコードは次のようになります。

<p>THIS IS ME SHOUTING!</p>
<p>Just finished executing: shout</p>

補足資料の場合:

2
mickmackusa