具有多维数组的导航栏
Navbar with multidimentional array
navbar.html.twig
<ul class="navbar-nav mr-auto">
{% for Links, Item in menu %}
<li class="nav-item">
<a class="nav-link" href="{{ Links }}">{{ Item }}
</a>
</li>
{% endfor %}
</ul>
server.php
$menu = [
"Items" => array("Home", "Woman's Fashion", "Men's Fashion", "Accessories"),
"Links" => array("/homepage", "/woman", "/men", "/accessories")
];
$params = [
"name" => "Mr. Gadget",
"title" => SITE_TITLE,
"SITE_TITLE" => SITE_TITLE,
"user" => "myName",
"menu" => $menu
];
echo $twig->render('views/navbar.html.twig', $params);
这会生成输出
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="Items">Array
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="Links">Array
</a>
</li>
</ul>
所以我要做的基本上是通过数组
为每个菜单项生成一个link和名称
我也试过在 for 循环中放置一个 for 循环,它创建 8 个不同的项目而不是仅仅 4 个
我怎样才能在项目总数中同时获得名称和 link?
您可以迭代 menu.Items
或 menu.Links
并使用数组键从另一个数组中选择一个条目,如下所示
<ul class="navbar-nav mr-auto">
{% for key, Item in menu.Items %}
<li class="nav-item">
<a class="nav-link" href="{{ menu.Links[key] }}">{{ Item }}
</a>
</li>
{% endfor %}
</ul>
navbar.html.twig
<ul class="navbar-nav mr-auto">
{% for Links, Item in menu %}
<li class="nav-item">
<a class="nav-link" href="{{ Links }}">{{ Item }}
</a>
</li>
{% endfor %}
</ul>
server.php
$menu = [
"Items" => array("Home", "Woman's Fashion", "Men's Fashion", "Accessories"),
"Links" => array("/homepage", "/woman", "/men", "/accessories")
];
$params = [
"name" => "Mr. Gadget",
"title" => SITE_TITLE,
"SITE_TITLE" => SITE_TITLE,
"user" => "myName",
"menu" => $menu
];
echo $twig->render('views/navbar.html.twig', $params);
这会生成输出
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="Items">Array
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="Links">Array
</a>
</li>
</ul>
所以我要做的基本上是通过数组
为每个菜单项生成一个link和名称我也试过在 for 循环中放置一个 for 循环,它创建 8 个不同的项目而不是仅仅 4 个 我怎样才能在项目总数中同时获得名称和 link?
您可以迭代 menu.Items
或 menu.Links
并使用数组键从另一个数组中选择一个条目,如下所示
<ul class="navbar-nav mr-auto">
{% for key, Item in menu.Items %}
<li class="nav-item">
<a class="nav-link" href="{{ menu.Links[key] }}">{{ Item }}
</a>
</li>
{% endfor %}
</ul>