Skin-Generator

Erzeugen Sie ein vollständiges Skin-Paket-Gerüst für OTOBO, Znuny oder OTRS CE — inklusive .sopm-Manifest, SysConfig-Loader-Eintrag und CSS-Datei.

Skin-Konfiguration

CamelCase, ohne Leerzeichen.
Technischer Name (Verzeichnisname unter skins/).
Wird Agenten/Kunden in den Einstellungen angezeigt.
Verzeichnisstruktur
Legen Sie die CSS-Datei(en) an den in der Filelist genannten Pfaden an, danach bauen Sie das Paket mit opmbuild build MySkin.sopm.

MyAwesomeSkin-1.0.0.sopm

<?xml version="1.0" encoding="utf-8" ?>
<otobo_package version="1.1">
    <Name>MyAwesomeSkin</Name>
    <Version>1.0.0</Version>
    <Framework>11.0.x</Framework>
    <Vendor>Example GmbH</Vendor>
    <URL>https://example.com/</URL>
    <License>GPL-3.0</License>
    <Description Lang="en">A custom skin.</Description>
    <Description Lang="de">A custom skin.</Description>
    <Filelist>
        <File Permission="660" Location="Kernel/Config/Files/XML/MyAwesomeSkin.xml" />
        <File Permission="644" Location="var/httpd/htdocs/skins/Agent/MyAwesomeSkin/css/MyAwesomeSkin.css" />
    </Filelist>
</otobo_package>

Kernel/Config/Files/XML/MyAwesomeSkin.xml

<?xml version="1.0" encoding="utf-8"?>
<otobo_config version="2.0" init="Application">
    <Setting Name="Loader::Agent::Skin###100-MyAwesomeSkin" Required="0" Valid="1">
        <Description Translatable="1">Agent-Skin bereitgestellt vom Paket MyAwesomeSkin.</Description>
        <Navigation>Frontend::Agent::View</Navigation>
        <Value>
            <Hash>
                <Item Key="InternalName">MyAwesomeSkin</Item>
                <Item Key="VisibleName">My Awesome Skin</Item>
                <Item Key="Description">A custom skin.</Item>
                <Item Key="HomePage">https://example.com/</Item>
            </Hash>
        </Value>
    </Setting>
</otobo_config>

var/httpd/htdocs/skins/Agent/MyAwesomeSkin/css/MyAwesomeSkin.css

/*
 * My Awesome Skin - Agent skin
 * Package: MyAwesomeSkin
 *
 * This file is loaded on top of the default skin. Override CSS custom
 * properties and selectors here to change the look and feel.
 */

:root {
    --oitsm-skin-accent: #10b981;
}

/* Example: recolor the main navigation */
#Navigation > li.Selected > a {
    background-color: var(--oitsm-skin-accent);
}