JCE経由でWebリンクを追加すると、リンクは&task=weblink.go
で追加されます
それは何ですか、そしてこれはファイルで評価されますか?
「タスク」は、コンポーネントのコントローラーの クラスメソッド (関数)です。
あなたの場合、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>
補足資料の場合: