我通过学习和逆向工程默认的 Joomla Protostar 模板来学习 Joomla 模板开发。我了解大约 80% 的情况,并且通过学习 php 的基础知识,我已经能够复制它。但是,我不明白下面的代码块在做什么(它在定义('_JEXEC')或死后就在模板的顶部;
// 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 到底是什么?