Joomla Parse错误:语法错误,意外的T
这个问题在这里已经有了答案:
范围解析运算符(::)只能用于使用PHP 5.3中的变量引用的类 - 您正在使用5.2。
你必须做JHtmlSidebar::addEntry
或JSubMenuHelper::addEntry
; 你不能做$class::addEntry
。
JText::('COM_TZ_PORTFOLIO_SUBMENU_GROUP_FIELDS')
不调用方法。 它应该是:
JText::_('COM_TZ_PORTFOLIO_SUBMENU_GROUP_FIELDS')
请参阅JText
。
T_PAAMAYIM_NEKUDOTAYIM
引用像这样的一行中的两个冒号::
。 看看你的代码示例:
$class::addEntry( JText::('COM_TZ_PORTFOLIO_SUBMENU_GROUP_FIELDS'), 'index.php?option=com_tz_portfolio&view=fieldsgroup', $vName == 'fieldsgroup');
我相信这个问题是与JText::(
按照Joomla文档应该用下划线格式化,所以它是JText::_(
所以你的代码将是:
$class::addEntry( JText::_('COM_TZ_PORTFOLIO_SUBMENU_GROUP_FIELDS'), 'index.php?option=com_tz_portfolio&view=fieldsgroup', $vName == 'fieldsgroup');
在Joomla内部不是100%清楚,但是下划线( _
)实际上是JText
类中的某种功能/方法。 所以当你把它叫做JText::(
因为PHP不知道你想用JText
做什么, JText
通过添加下划线( _
),它实际上会调用一个类中的函数并执行它的功能去做。