デフォルトの Joomla Protostar テンプレートを研究およびリバース エンジニアリングすることで、Joomla テンプレートの開発を学んでいます。私は何が起こっているのか約 80% を理解しており、PHP の基本を学ぶことでそれを再現することができました。ただし、次のコードのチャンクが何をしているのかわかりません (テンプレートの一番上にある defined('_JEXEC') または die; の直後にあります)。
// Getting params from template
$params = JFactory::getApplication()->getTemplate(true)->params;
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;
// Detecting Active Variables
$option = $app->input->getCmd('option', '');
$view = $app->input->getCmd('view', '');
$layout = $app->input->getCmd('layout', '');
$task = $app->input->getCmd('task', '');
$itemid = $app->input->getCmd('Itemid', '');
$sitename = $app->getCfg('sitename');
if($task == "edit" || $layout == "form" )
{
$fullWidth = 1;
}
else
{
$fullWidth = 0;
}
私が得られないいくつかのことは...
「$ task」などのこれらの変数は、パラメーターとして設定されていることがわかりません。
これらの変数が他の変数と同じように含まれていないのはなぜですか? $app->input とは何ですか?