ich stoße immer wieder auf die Frage nach individuellen CSS für Kategorien, beispielsweise um Icons vor Navigationspunkte zu setzen.
Ich habe mir mal auf Basis des aktuellen GIT-Repositories (Contenido 4.9.12) die Mühe gemacht den Core dahingehend anzupassen, dass man beim Umbenennen einer Kategorie neben Name und Alias nun auch CSS-Klassen eingeben kann. Eigentlich ist es ein Freitext-Feld, welches in Frontendmodulen frei verwendet werden kann. Ich nutze es halt um CSS-Klassen einer Kategorie mit auf den Weg zu geben.
Folgende Dateien wurden angepasst:
contenido/includes/include.str_overview.php
contenido/includes/functions.str.php
contenido/includes/type/action/include.str_renamecat.action.php
contenido/scripts/str_overview.js
contenido/templates/standard/template.str_overview.html
setup/data/tables.txt
Anpassungen:
Code: Alles auswählen
diff setup/data/tables.txt setup/data/tables.txt
133a134
> "cat_lang";"catcssclasses";"varchar(255)";"";"";"";"";""
diff contenido/templates/standard/template.str_overview.html contenido/templates/standard/template.str_overview.html
172a173,178
>
> <span style="padding-left:15px;"> </span>
>
> {LABEL_CATCSSCLASSES_NAME}
> {INPUT_CATCSSCLASSES_EDIT}
>
diff contenido/scripts/str_overview.js contenido/scripts/str_overview.js
94a95
> document.renamecategory.newcategorycatcssclasses.value = strDataObj[iCatId]['catcssclasses'];
diff contenido/includes/type/action/include.str_renamecat.action.php contenido/includes/type/action/include.str_renamecat.action.php
20c20
< strRenameCategory($idcat, $lang, $newcategoryname, $newcategoryalias);
---
> strRenameCategory($idcat, $lang, $newcategoryname, $newcategoryalias, $newcategorycatcssclasses);
diff contenido/includes/functions.str.php contenido/includes/functions.str.php
471c471
< function strRenameCategory($idcat, $lang, $newCategoryName, $newCategoryAlias) {
---
> function strRenameCategory($idcat, $lang, $newCategoryName, $newCategoryAlias, $newCategoryCatCssClasses) {
503a504
> $oCatLang->set('catcssclasses', $newCategoryCatCssClasses);
diff contenido/includes/include.str_overview.php contenido/includes/include.str_overview.php
339a340
> $newItem->setCustom('catcssclasses', $item['catcssclasses']);
370c371
< idtree, A.idcat, level, name, parentid, preid, postid, visible, public, idtplcfg, C.urlname as alias
---
> idtree, A.idcat, level, name, parentid, preid, postid, visible, public, idtplcfg, C.urlname as alias, catcssclasses
427a429
> $entry['catcssclasses'] = $db->f('catcssclasses');
554a557
>
679a683
> $sCatCssClasses = $value->getCustom('catcssclasses');
681a686
> $aRecord['catcssclasses'] = conHtmlSpecialChars($sCatCssClasses);
890a896,900
>
> $oNewAlias = new cHTMLTextbox('newcategorycatcssclasses');
> $oNewAlias->setStyle('width:150px; vertical-align:middle;');
> $tpl->set('s', 'INPUT_CATCSSCLASSES_EDIT', $oNewAlias->render());
>
Das Sprachtag "LABEL_CATCSSCLASSES_NAME" habe ich nicht in die Locales eingebaut. Ich habe aktuell kein Programm zum Übersetzen der .po in die .mo-Datei
Falls jemand einen besseren Vorschlag hat, würde ich mich über Anregungen sehr freuen. Kommentare auch gerne.
Beste Grüße,
Christian