Plugin oder Pluginerweiterung für hjs und bjs

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
olape
Posts: 3189
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Plugin oder Pluginerweiterung für hjs und bjs

Post by olape » Fri Sep 27, 2024 5:51 am

Es kommt immer wieder vor, dass man auf einer Page etwas in den head-Bereich oder wenigstens ans Ende der Seite einfügen will/muss.
Meist sind das Scripte, manchmal auch JSON-LD, vielleicht auch mal etwas CSS.
Auch hier im Forum haben wir immer wieder Anfragen zu solchen Dingen.

Nun ist es immer etwas umständlich, den Editor erst zu überreden, dass er i.e. Script-Tags drin lässt,
bzw. manches nutzt im Body einfach nichts, oder ist dort mindestens falsch positioniert.
Das Arbeiten im Editor ist, wenn solche Dinge drin sind, auch erschwert.

Es wäre einfach, ein Plugin zu erstellen, welches die Möglichkeit bietet, Inhalte seitenbezogen nach $hjs bzw. $bjs zu schreiben,
aber ist es sinnvoll dafür ein extra Plugin zu erstellen? Wäre das in Page_Params nicht besser aufgehoben?
Dieses Plugin dient doch gerade dazu, Page-spezifische Dinge einstellen zu können.

Was denkt ihr dazu?
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

lck
Posts: 3297
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by lck » Fri Sep 27, 2024 12:39 pm

olape wrote:
Fri Sep 27, 2024 5:51 am
Es kommt immer wieder vor, dass man auf einer Page etwas in den head-Bereich oder wenigstens ans Ende der Seite einfügen will/muss.
Meist sind das Scripte, manchmal auch JSON-LD, vielleicht auch mal etwas CSS.
olape wrote:
Fri Sep 27, 2024 5:51 am
Es wäre einfach, ein Plugin zu erstellen, welches die Möglichkeit bietet, Inhalte seitenbezogen nach $hjs bzw. $bjs zu schreiben,
aber ist es sinnvoll dafür ein extra Plugin zu erstellen? Wäre das in Page_Params nicht besser aufgehoben?
Dieses Plugin dient doch gerade dazu, Page-spezifische Dinge einstellen zu können.
:? Weiß auch nicht. Wie sähe das aus, ein Textfeld wo man den Code einfügen kann?
olape wrote:
Fri Sep 27, 2024 5:51 am
Nun ist es immer etwas umständlich, den Editor erst zu überreden, dass er i.e. Script-Tags drin lässt,
bzw. manches nutzt im Body einfach nichts, oder ist dort mindestens falsch positioniert.
Wie wäre es denn, wenn wir den Editor (die init-Dateien), gleich so ausliefern, dass alles akzeptiert wird. Ich betrachte diese Beschneidung eh veraltet und unnötig.
@Manu, was meinst du? Gibt es Gründe dagegen?

Es gibt ja auch noch die Möglichkeit per userfuncs.php eine Funktion anzulegen und dann in der Seite den Aufruf zu platzieren.
👉 Ludwig's Templates for MultiPage & OnePage.   „Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“

olape
Posts: 3189
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by olape » Sat Sep 28, 2024 3:18 pm

lck wrote:
Fri Sep 27, 2024 12:39 pm
Wie sähe das aus, ein Textfeld wo man den Code einfügen kann?
Im einfachsten Fall: ja.
lck wrote:
Fri Sep 27, 2024 12:39 pm
Wie wäre es denn, wenn wir den Editor (die init-Dateien), gleich so ausliefern, dass alles akzeptiert wird.
Das wäre schon ein Fortschritt, würde aber nicht in allen Fällen nutzen.
lck wrote:
Fri Sep 27, 2024 12:39 pm
Es gibt ja auch noch die Möglichkeit per userfuncs.php eine Funktion anzulegen und dann in der Seite den Aufruf zu platzieren.
Ja, aber das ist eben für die meisten schon wieder zu viel
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

lck
Posts: 3297
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by lck » Sat Sep 28, 2024 5:03 pm

olape wrote:
Sat Sep 28, 2024 3:18 pm
lck wrote:
Fri Sep 27, 2024 12:39 pm
Es gibt ja auch noch die Möglichkeit per userfuncs.php eine Funktion anzulegen und dann in der Seite den Aufruf zu platzieren.
Ja, aber das ist eben für die meisten schon wieder zu viel
Ja da hast du schon recht, viel einfacher wäre es per Page_Params. Würde ja nicht stören und einen BC-Break würde diese Erweiterung auch nicht verursachen. Von mir aus, kannst du das gerne mal machen.
👉 Ludwig's Templates for MultiPage & OnePage.   „Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“

olape
Posts: 3189
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by olape » Sat Sep 28, 2024 5:49 pm

lck wrote:
Sat Sep 28, 2024 5:03 pm
Von mir aus, kannst du das gerne mal machen.
Ich schau mal, und erstelle mal einen Branch zum Testen.
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

Tata
Posts: 3626
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by Tata » Sun Sep 29, 2024 7:22 pm

Ich bin nicht fähig es zu schreiben, aber so wäre meine Vorstellung:
1. Die Skripte als selbständige Dateien schreiben (z.B. hjs_name(function, plugin etc).js, bjs_name(function, plugin, etc).js
2. Diese Dateien unter /userfiles/scrirpts/ speichern
3. In userfuncs.php, oder besser als plugin (z.B. hb_scripts) die Funktion schreiben, die:
- a) /userfiles/scrirpts/ durchsucht
- b) alle hjs_name.js und bjs_name.js in hb_scripts/config auflistet mit checkbox (1=integrieren, 0=ignorieren)
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

olape
Posts: 3189
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by olape » Sun Sep 29, 2024 7:35 pm

Tata wrote:
Sun Sep 29, 2024 7:22 pm
Ich bin nicht fähig es zu schreiben, aber so wäre meine Vorstellung:
1. Die Skripte als selbständige Dateien schreiben (z.B. hjs_name(function, plugin etc).js, bjs_name(function, plugin, etc).js
2. Diese Dateien unter /userfiles/scrirpts/ speichern
3. In userfuncs.php, oder besser als plugin (z.B. hb_scripts) die Funktion schreiben, die:
- a) /userfiles/scrirpts/ durchsucht
- b) alle hjs_name.js und bjs_name.js in hb_scripts/config auflistet mit checkbox (1=integrieren, 0=ignorieren)
Das wäre schon eine Variante.
Aber es sollte ja eben nicht so kompliziert werden.
Es sollte nur eine ganz einfache Quick and Dirty-Lösung sein.
Aber eben nicht im Editor. Zumal hjs dort eh nicht funktioniert.
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

olape
Posts: 3189
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by olape » Mon Oct 07, 2024 3:55 pm

Ich habe mal angefangen, das umzusetzen.
Als eigenständiges Plugin.
Weil dass, was Martin hier haben möchte, ist zu umfangreich, um es in Page_Params reinzubasteln.

Es gibt einen Teil in der Pluginkonfiguration global, also für alle Pages gleich einzustellen, für hjs und bjs, jeweils ein Textarea und Checkboxen für jedes .js und .css, welches unter /userfiles/scripts/ abgelegt ist. Das heißt, bei bjs ist es nur js.

Und jetzt kommt mein Problem, im Page-Data-Tab kann ich das nicht so einfach umsetzen.
Das Textarea ist keine Problem, aber die Checkboxen. Ich bräuchte für jede Checkbox ein eigenes Page-Data-Feld.
Aber die Anzahl ist eben unbekannt, da ja jeder so viele Scripte ablegen kann, wie er möchte.
Auf diese Art funktioniert es also nicht.
Ich könnte Radio-Buttons oder eine Auswahlliste nutzen, da geht aber leider immer nur ein Script.

Und eben hier hänge ich zur Zeit fest.
Mir schwebt ein JS vor, welches die Checkboxen ausliest und dann zu einer Variable zusammenfasst.
Aber JS ist eben nicht meins. Es muss jedenfalls vor dem Senden passieren.
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

lck
Posts: 3297
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by lck » Thu Oct 10, 2024 5:15 pm

olape wrote:
Mon Oct 07, 2024 3:55 pm
Mir schwebt ein JS vor, welches die Checkboxen ausliest und dann zu einer Variable zusammenfasst.
Ich habe mal die KI gefragt. Hoffe das Ergebnis hilft dir etwas.
Antwort:
Hier ist ein einfaches Beispiel für ein JavaScript, das Checkboxen ausliest und deren Werte in einer Variablen zusammenfasst:

HTML-Code für die Checkboxen:

Code: Select all

<form id="checkboxForm">
  <label><input type="checkbox" name="option" value="Option 1"> Option 1</label>
  <label><input type="checkbox" name="option" value="Option 2"> Option 2</label>
  <label><input type="checkbox" name="option" value="Option 3"> Option 3</label>
  <label><input type="checkbox" name="option" value="Option 4"> Option 4</label>
  <button type="button" onclick="getSelectedCheckboxes()">Senden</button>
</form>

<p id="output"></p>
JavaScript-Code:

Code: Select all

function getSelectedCheckboxes() {
  // Alle Checkboxen mit Namen "option" auswählen
  const checkboxes = document.querySelectorAll('input[name="option"]:checked');
  
  // Werte der ausgewählten Checkboxen extrahieren und in einem Array speichern
  const selectedValues = Array.from(checkboxes).map(checkbox => checkbox.value);
  
  // Die Werte als String zusammenfassen
  const selectedString = selectedValues.join(', ');

  // Ausgabe in einer Variablen
  let resultVariable = selectedString;
  
  // Ausgabe der Ergebnisse im HTML
  document.getElementById('output').innerText = 'Ausgewählte Optionen: ' + resultVariable;
  
  console.log(resultVariable); // Ausgabe in der Konsole
}
Erklärung:
querySelectorAll liest alle Checkboxen aus, die ausgewählt (also angeklickt) sind.
Array.from wandelt die NodeList der Checkboxen in ein Array um, damit wir mit map die Werte der Checkboxen extrahieren können.
Die Checkbox-Werte werden als String mit Komma getrennt (join) in einer Variablen zusammengefasst.
Das Ergebnis wird in einer HTML-Seite ausgegeben oder in der Konsole angezeigt.

DEMO
DEMO 2 (Checkbox sofort beim Anklicken auslesen)
👉 Ludwig's Templates for MultiPage & OnePage.   „Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“

olape
Posts: 3189
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin oder Pluginerweiterung für hjs und bjs

Post by olape » Thu Oct 17, 2024 11:47 am

Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

Post Reply