0

我想使用 OCMOD 在 opencart 管理页面中添加一个菜单。我想修改menu.tpl文件中的菜单,但我认为它需要正则表达式,因为它<li>必须是最后一个</ul>标签。有人可以帮忙吗?<ul>标签是这样的:

    <ul>
      <li><a href="<?php echo $location; ?>"><?php echo $text_location; ?></a></li>
      <li><a href="<?php echo $language; ?>"><?php echo $text_language; ?></a></li>
      <li><a href="<?php echo $currency; ?>"><?php echo $text_currency; ?></a></li>
      <li><a href="<?php echo $stock_status; ?>"><?php echo $text_stock_status; ?></a></li>
      <li><a href="<?php echo $order_status; ?>"><?php echo $text_order_status; ?></a></li>
      <li><a class="parent"><?php echo $text_return; ?></a>
        <ul>
          <li><a href="<?php echo $return_status; ?>"><?php echo $text_return_status; ?></a></li>
          <li><a href="<?php echo $return_action; ?>"><?php echo $text_return_action; ?></a></li>
          <li><a href="<?php echo $return_reason; ?>"><?php echo $text_return_reason; ?></a></li>
        </ul>
      </li>
      <li><a href="<?php echo $country; ?>"><?php echo $text_country; ?></a></li>
      <li><a href="<?php echo $zone; ?>"><?php echo $text_zone; ?></a></li>
      <li><a href="<?php echo $geo_zone; ?>"><?php echo $text_geo_zone; ?></a></li>
      <li><a class="parent"><?php echo $text_tax; ?></a>
        <ul>
          <li><a href="<?php echo $tax_class; ?>"><?php echo $text_tax_class; ?></a></li>
          <li><a href="<?php echo $tax_rate; ?>"><?php echo $text_tax_rate; ?></a></li>
        </ul>
      </li>
    </ul>

我知道可以在之后添加我的菜单

<li><a href="<?php echo $geo_zone; ?>"><?php echo $text_geo_zone; ?></a></li>

使用此操作

<file path="admin/view/template/common/menu.tpl">
    <operation>
        <search>
            <![CDATA[
            <li><a href="<?php echo $geo_zone; ?>"><?php echo $text_geo_zone; ?></a></li>
            ]]>
        </search>                       
        <add position="after">
            <![CDATA[
            <li><a href="<?php echo $my_menu; ?>"><?php echo $text_my_menu; ?></a></li>
             ]]>
        </add>
    </operation>
</file>

但我想将我的菜单添加到列表的最后一个(之后<li>包含<ul>)。我认为它应该使用正则表达式来完成这项工作。请有人帮忙,谢谢。

4

1 回答 1

1

最好的方法是仅使用标准搜索并在标签中指定</ul>要使用的,指定其中哪些是在之前/之后放置内容的正确方法。请记住,其他扩展可以执行相同的操作并添加将更改索引的子菜单。正则表达式不是一个可行的选择。index<add>

所以你的问题的操作应该是这样的:

<file path="admin/view/template/common/menu.tpl">
<operation>
    <search index="2">
        <![CDATA[
        </ul>
        ]]>
    </search>                       
    <add position="before">
        <![CDATA[
        <li><a href="<?php echo $my_menu; ?>"><?php echo $text_my_menu; ?></a></li>
         ]]>
    </add>
</operation>

索引从 开始,我们在索引中0的最后一个列表之前添加新列表。</ul>2

于 2015-02-22T17:31:07.773 回答