Modulanfrage

Alles rund um Module und Plugins in CONTENIDO 4.10.
farina
Beiträge: 257
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Modulanfrage

Beitrag von farina » Mi 31. Jul 2019, 11:16

Gibt es ein Modul mit dem ich in den Voreinstellungen einer Vorlage z.b. dem body-tag eine css-Klasse geben kann?
Oder hat jemand eine Idee, wie man ein bestehendes Modul umfunktionieren könnte?
LG

Oldperl
Beiträge: 4160
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Modulanfrage

Beitrag von Oldperl » Mi 31. Jul 2019, 12:42

Servus,

sorry, das kann ich nicht ganz nachvollziehen. Was bitte soll das Modul genau können/machen?

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

farina
Beiträge: 257
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: Modulanfrage

Beitrag von farina » Mi 31. Jul 2019, 12:56

Ich würde ganz gerne dem body-Tag eine Klasse zuordnen können.

Manchmal habe ich das gleiche Layout, dass mit einer anderen Klasse anders formatiert wird. Beispielsweise habe ich 2 Text-Module untereinander. Mit einer andere Body-class könnte ich die nebeneinader positionieren, ohne ein neues Layout anlegen zu müssen.
Momentan muß ich dafür das Layout duplizieren und mit neuer Klasse als neues Layout abspeichern.

Und ich stelle mir vor, dass man mit dem gleichen Layout eine neue Vorlage erstellt, eben mit der Möglichkeit die class zu wählen.
Weiß nicht, wie ich es anders erklären soll.

Vielleicht denke ich aber auch total quer. Bitte keine Hemmungen mir das zu sagen.
LG

Faar
Beiträge: 1719
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modulanfrage

Beitrag von Faar » Mi 31. Jul 2019, 14:22

Code: Alles auswählen

<body class='<container id="ID" name="css-class-modul">Body-Class</container>' >
Und dann kannst Du je nach Layout ein anderes CSS-Modul einfügen.
Das kann so einen Code haben:

Code: Alles auswählen

<?php
// Modul1 fuer Body-Class1
echo "class1";
?> 
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

farina
Beiträge: 257
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: Modulanfrage

Beitrag von farina » Mi 31. Jul 2019, 16:42

Danke. Das ist aber noch nicht das, was ich meine.

Im Input des Moduls müsste ein Formular sein entweder mit Auswahlliste oder Texteingabe.Damit man unter verschiedenen CSS-Klassen auswählen oder die CSS-Klasse eingeben kann.
Im Output wird dann nur die Variable ausgelesen.

Oldperl
Beiträge: 4160
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Modulanfrage

Beitrag von Oldperl » Mi 31. Jul 2019, 18:44

Servus,

es würde doch bestimmt ausreichen wenn man die Klassennamen in einer Mandantenvariable als Kommaseparierte Liste speichern könnte, oder?

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

farina
Beiträge: 257
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: Modulanfrage

Beitrag von farina » Do 1. Aug 2019, 09:48

Meinst du in der Form in den Mandanteneigenschaften?

Code: Alles auswählen

Modulname | Variablenname| Css-Klassen mit Komma getrennt
Das wäre ja super!
Aber wie lese ich das dann aus? Mir fehlt es immer wieder an solchen basics?

Oldperl
Beiträge: 4160
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Modulanfrage

Beitrag von Oldperl » Do 1. Aug 2019, 12:42

Servus,

na, dann wird es mal Zeit für ein Tutorial... 8)

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

homtata
Beiträge: 1109
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Modulanfrage

Beitrag von homtata » Do 1. Aug 2019, 13:22

Wenn du dich wirklich in einen Inputbereich reinfuchsen willst, dann nimm mal den Inputbereich meines Moduls Terminliste (dort das Modul zur Terminausgabe und dessen Inputbereich). Dort ist - wenn auch sehr umfangreich - ein Inputbereich definiert, und einer davon liest auch über getEffectiveSetting einen Mandantenwert aus, der Semikolongetrennt ist und daraus ein select-field erstellt innerhalb des Inputbereichs. Ein anderer sucht nach allen vorhanden Smarty-Templates (.tpl) und macht daraus ein select-field. Kann man alles sehr vereinfachen für deine Zwecke.

Faar
Beiträge: 1719
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modulanfrage

Beitrag von Faar » Do 1. Aug 2019, 13:45

farina hat geschrieben:
Mi 31. Jul 2019, 16:42
Danke. Das ist aber noch nicht das, was ich meine.
Sofern es nicht zu viele Varianten sind, kann man doch für jede Klasse ein eigenes einfaches Modul machen und dann jeweils im Template einfügen, also für jede Variante auch ein eigenes Template (Vorlage).
Wenn es viele Varianten sind, empfiehlt sich natürlich eine Eingabe.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1719
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modulanfrage

Beitrag von Faar » Do 1. Aug 2019, 13:47

Oldperl hat geschrieben:
Mi 31. Jul 2019, 18:44
es würde doch bestimmt ausreichen wenn man die Klassennamen in einer Mandantenvariable als Kommaseparierte Liste speichern könnte, oder?
Wie weißt man dann dem <body> Tag die jeweils zutreffende Klasse zu?
Das Auslesen ist für uns beide kein Problem aber ich sehe noch nicht die Logik der Zuweisung.
Wie stellst Du dir das vor?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1719
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modulanfrage

Beitrag von Faar » Do 1. Aug 2019, 13:54

farina hat geschrieben:
Do 1. Aug 2019, 09:48
Meinst du in der Form in den Mandanteneigenschaften?

Code: Alles auswählen

Modulname | Variablenname| Css-Klassen mit Komma getrennt
Das wäre ja super!
Aber wie lese ich das dann aus? Mir fehlt es immer wieder an solchen basics?

Code: Alles auswählen

$klass_s = getEffectiveSetting($ModuleName, 'bodyclass', 'gruen,rot,gelb'); // hier holt man sich aus dem Mandanten die Daten oder gibt Werte vor, falls die Daten fehlen. Diese Daten sind in Form eines String, also Zeichenkette.
$klass_a = explode(",", $klass_s); //Um die einzelnen Klassen zu haben, muss man den String aufbrechen und erhält damit ein Array.
echo $klass_a[0]; // Der erste Wert im Array würde dann 'gruen' enthalten.
Aber um auf Oldperls Idee zurück zu kommen: Wie würde unterschieden werden, wann welche Klasse angezeigt werden soll?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1719
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modulanfrage

Beitrag von Faar » Do 1. Aug 2019, 13:56

Oldperl hat geschrieben:
Do 1. Aug 2019, 12:42
na, dann wird es mal Zeit für ein Tutorial... 8)
Für die 4.8 gabs das glaub ich schon mal.
Ansonsten kann man (ich? :shock: ) das noch in die Docs schreiben.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

farina
Beiträge: 257
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: Modulanfrage

Beitrag von farina » Do 1. Aug 2019, 14:02

so wie du das vorgeschlagen hast Faar
<body class='<container id="ID" name="css-class-modul">Body-Class</container>' >
klappt das nicht.
So wird im Quelltext der Webseite nur die genaue Zeichenfolge ausgelesen. Ich habe es bis jetzt noch nicht hinbekommen.

Faar
Beiträge: 1719
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Modulanfrage

Beitrag von Faar » Do 1. Aug 2019, 14:07

Ok, dann anders:

Code: Alles auswählen

<container id="ID" name="css-class-modul">Body-Class</container>
Und im Modul steht dann:

Code: Alles auswählen

<?php
echo '<body class="xyz">';
?>
Natürlich braucht man dann für jede Klasse ein eigenes Modul.
Sonst muss man das über Input machen und wird natürlich ein wenig aufwändiger.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten