Prestashop 1.7 管理主题 css 覆盖

Prestashop 1.7 admin theme css overrides

我正在尝试修改 PS 1.7 管理主题 - 只是为了隐藏一些选项和菜单项。

我修改了./adminFolder/themes/default/css/override.css

除 Catalog/Products 和模块外,它在任何地方都有效——就好像没有覆盖一样。

如何让 css 覆盖在管理区域中全局工作?

产品控制器已经在新系统(symfony)中。

查看源代码可以看到它使用了 5 css:

/modules/welcome/public/module.css
/admin/themes/new-theme/public/theme.css
/js/jquery/plugins/chosen/jquery.chosen.css
/admin/themes/default/css/vendor/nv.d3.css
/admin/themes/default/css/bundle/right-sidebar.css

overrides.css仅适用于"old theme"。我对新的一无所知。 所以要么你改变其中之一,运行 升级时被覆盖的风险。或者覆盖 AdminController->setMedia($isNewTheme = false) 以添加您的自定义 css。或者使用模块中的 Hook::exec('actionAdminControllerSetMedia'); 添加它。

如果您想隐藏 menu/sub-menus,您可以在 table [PREFIX]_tab 中设置数据库内的可见性(默认为 ps_tab)。

顶级菜单 id_parent 的值为 0,子菜单的值大于 0。

例如,我有这个车辆文件自定义模块:

如果我将带有 class_nameV2vVehicleFile”的行设置为 active = 0(false),则整个菜单(包括其子菜单)都会消失.

现在,如果我将带有 class_nameAdminVehicleMake”的行设置为 active = 0(false),则只有名为“载具使"消失。

将 overrides.css 文件位置添加到 classes/controller/AdminController 中名为 setMedia 的函数。php

public function setMedia($isNewTheme = false)
{
    if ($isNewTheme) {
        $this->addCSS(__PS_BASE_URI__ . $this->admin_webpath . '/themes/default/css/overrides.css', 'all', 1);