我有一个可在Joomla 3.9.1中使用的模板。以及Joomla 4 Alfa 1到Alfa 3,但停止了最新的Joomla4 Alfa版本Alfa 5 e Alfa 6的工作。
模板应显示这样的水平菜单
Horizontal Menu in J4 Alfa3 而是显示了这样的画面
Horizontal Menu in J4 Alfa6 查看生成的代码,我看到J4 A6生成了与J4 A3不同的代码。 code genrated in J4 A3 code genrated in J4 A6 J4A6应该生成一个类“ lcp_hmenu”,但生成一个类“ menu”。
查看html \ mod_menu \ default.php中的代码
<?php
defined('_JEXEC') or die;
require_once dirname(__FILE__) . str_replace('/', DIRECTORY_SEPARATOR, '/../../functions.php');
// Note. It is important to remove spaces between elements.
$tag = ($params->get('tag_id') != NULL) ? ' id="' . $params->get('tag_id') . '"' : '';
if (isset($attribs['name']) && $attribs['name'] == 'user3') {
$menutype = 'horizontal';
$start = $params->get('startLevel');
// render subitems or not.
$subitems = $GLOBALS['artx_settings']['menu']['show_submenus'] && 1 == $params->get('showAllChildren');
// true - skip current node, false - render current node.
$skip = false;
echo '<ul class="lcp-hmenu"' . $tag . '>';
......
我看到只有在$ attribs ['name'] =='user3'的情况下,才能生成正确的代码。
我不知道为什么,但是在J4 A6中未设置该变量,这就是菜单无法正确显示的原因。
模块“ mainmenu”位于“ user3”位置,因此它应该可以工作。
有人知道变量$ attribs的位置吗?
谢谢