私はjoomlaの初心者です。テンプレートを http://www.joomla24.com/Joomla_3x_Templates/Joomla_3x_Templates/Oliverio_Lite.html のように変更すると
次のエラーが発生します
Strict Standards: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in ..\xampp\htdocs\joomla\templates\oliveriolite\index.php on line 91
Strict Standards: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in ..\xampp\htdocs\joomla\includes\application.php on line 569
とても簡単です。テンプレートは、getMenu()
という名前の関数を静的に呼び出します。呼び出しの意味は次のようになります:$app::getMenu()
。ただし、次のようになります:$app->getMenu()
。変数名($app
)は関係ありません、コロン対矢印は重要です。
メニューを取得する正しい方法は次のとおりです。
$app = JFactory::getApplication();
$menu = $app->getMenu();
またはさらに短い:
$menu = JFactory::getApplication()->getMenu();