使用 OCMOD 添加 <li> 标签的正则表达式

Regex to add <li> tag using OCMOD

我想使用 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>

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

执行此操作的最佳方法是仅使用标准搜索并指定要使用 <add> 标记中的 index</ul>右一放置内容before/after。请记住,其他扩展程序可以执行相同的操作并添加将更改索引的子菜单。 Regex 不是一个可行的选择。

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

<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 开始,我们在索引 2 中的最后一个 </ul> 之前添加新列表。