Плюс еще не скрывался пункт "Настраиваемые поля" по аналогии тоже сделал
<operation error="skip">
<search position="replace"><![CDATA[
<li><a href="<?php echo $custom_field; ?>"><?php echo $text_custom_field; ?></a></li>
]]></search>
<add><![CDATA[
<?php if($this->user->hasPermission('access','design/custom_field')) { ?>
<li><a href="<?php echo $custom_field; ?>"><?php echo $text_custom_field; ?></a></li>
<?php } ?>
]]></add>
</operation>
А вот с пунктом Локализация проблема походе в том что там есть пункты с еще одним уровнем такие как Локализация-->Возвраты-->Статусы заказов. Поидее, если я правильно понимаю <li class=""> должен заменяться на <li style="display: none;"> вот этим кодом
<operation error="log">
<search position="after" index="1"><![CDATA[$(document).ready]]></search>
<add><![CDATA[
$('ul').not(':visible').each(function(index) {
//$(this).remove();
});
$('li a.parent').each(function(index) {
if($(this).next('ul').children('li').size() == 0) {
$(this).parent('li').css('display', 'none');
}
})
if($('#catalog ul li:not(:has(a.parent))').size() == 0) $('#catalog').css('display', 'none');
if($('#extension ul li:not(:has(a.parent))').size() == 0) $('#extension').css('display', 'none');
if($('#sale ul li:not(:has(a.parent))').size() == 0) $('#sale').css('display', 'none');
if($('#system ul li:not(:has(a.parent))').size() == 0) $('#system').css('display', 'none');
if($('#reports ul li:not(:has(a.parent))').size() == 0) $('#reports').css('display', 'none');
]]></add>
</operation>
И пока что не могу понять почему он не отрабатывает как надо =(