今天遇到需求,需要剔除owncloud用户管理功能.
1.首先是找到
\owncloud10\core\templates\layout.user.php
这是所有用户的输出模板
2.找到80行
<ul> <?php foreach($_['settingsnavigation'] as$key=>$entry):?> <li> <a href="<?php print_unescaped($entry['href']); ?>" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>> <img alt="" src="<?php print_unescaped($entry['icon']); ?>"> <?php p($entry['name']) ?> </a> </li> <?php endforeach; ?> <li> <a id="logout" <?php print_unescaped(OC_User::getLogoutAttribute()); ?>> <img alt="" src="<?php print_unescaped(image_path('', 'actions/logout.svg')); ?>"> <?php p($l->t('Log out'));?> </a> </li> </ul>
这就是右上角用户菜单的ul列表
通过php遍历 $_['settingsnavigaion'] 来输出菜单
虽然我不知道 这个变量具体是什么,但通过他的输出来看
用户按钮的条件是
<?php if($entry['href'] != '/owncloud/index.php/settings/users'): ?>
所以要剔除用户功能,需要对遍历方法内部修改
<?php foreach($_['settingsnavigation'] as$key=>$entry):?> <?php if($entry['href'] != '/datavault/index.php/settings/users'): ?> <li> <a href="<?php print_unescaped($entry['href']); ?>" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>> <img alt="" src="<?php print_unescaped($entry['icon']); ?>"> <?php p($entry['name']) ?> </a> </li> <?php endif; ?> <?php endforeach; ?>
结果