CSS-Klassen für Kategorien
Verfasst: Do 2. Aug 2018, 19:53
Hallo zusammen,
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:
Die tables.txt aus dem Setup habe ich angepasst, um über die Update-Funktion die Datenbanktabelle anzulegen.
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
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