Hallöle ins Forum.
Ich bin absoluter Anfänger in JS und habe da aus gegebenem Anlass eine Frage.
Ich betreibe ein phpBB-Forum und beteilige mich gerade an einer Erweiterungsprogrammierung. Leider ist bei uns niemand wirklich firm in Javascript, ich versuche mein Glück also mit Beschreibungen aus dem Internet.
Wir möchten ein fertiges Script einbinden, mit dem man Cookie-Einstellungen setzen kann. Das Script kennt 2 Arten von Cookies, nämlich essenzentielle und "YT".
Soweit so gut, Einbinden hat geklappt. Selbst die Texte im Auswahlfenster können wir mit Sprachvariablen aus dem jeweiligen Board füllen lassen.
Jetzt möchten wir aber angemeldeten Usern zusätzliche Auswahlmöglichkeiten bieten.
Die Auswahlmöglichkeiten werden in einer "config.js" festgelegt. Darin wird eine Variable definiert, die diverse Stringwerte enthält und mittendrin wird ein Array (?) mit eckigen Klammern und dem Bezeichner "services:" erzeugt. Etwas eingekürzt:
Ich habe die Datei geclont und lasse die Original "config.js" nur die Variable füllen, wenn der Boarduser nicht angemeldet ist("truelog" wurde aus php übergeben). Wenn er jedoch angemeldet ist, soll mein clone laufen und die Variable füllen.
Jetzt zum Knackpunkt:
Im Admintool soll der Boardadmin aus (sagen wir mal) 3 weiteren vordefinierten Auswahlmöglichkeiten wählen können, welche cookies er dem einzelnen User anbieten möchte.
Daher fragt meine clone-config ab, ob die Schalter im Admintool auf "ja" stehen und fügt den erforderlichen Inhalt in je eine Variable ein (part1,part2,part3)
Diese Variablen möchte ich jetzt dem Array(?) hinzufügen.
Ich habe es mit Object.assign() versucht, dann überschreiben aber die optionalen Werte die Originalwerte und ich habe die essenzentiellen Cookies nicht mehr.
Dann habe ich "Config.concat(part1)" versucht, wobei ich die Meldung erhalte, "concat is not a function"
Ich bin mir gar nicht sicher, was ich hier habe. Ist es wirklich ein Array ? kann man den mitten in einer Variable nur durch Angabe der eckigen Klammern definieren ?
Und wie kann ich den erweitern ?
Fragen, Fragen, Fragen.....
Da ich nicht wusste wie ich das in der Suche bezeichnen sollte bitte ich um Nachsicht, wenn es schon einen Beitrag hierzu gibt und um Verlinkung des Beitrags in einer Antwort.
Ich bin absoluter Anfänger in JS und habe da aus gegebenem Anlass eine Frage.
Ich betreibe ein phpBB-Forum und beteilige mich gerade an einer Erweiterungsprogrammierung. Leider ist bei uns niemand wirklich firm in Javascript, ich versuche mein Glück also mit Beschreibungen aus dem Internet.
Wir möchten ein fertiges Script einbinden, mit dem man Cookie-Einstellungen setzen kann. Das Script kennt 2 Arten von Cookies, nämlich essenzentielle und "YT".
Soweit so gut, Einbinden hat geklappt. Selbst die Texte im Auswahlfenster können wir mit Sprachvariablen aus dem jeweiligen Board füllen lassen.
Jetzt möchten wir aber angemeldeten Usern zusätzliche Auswahlmöglichkeiten bieten.
Die Auswahlmöglichkeiten werden in einer "config.js" festgelegt. Darin wird eine Variable definiert, die diverse Stringwerte enthält und mittendrin wird ein Array (?) mit eckigen Klammern und dem Bezeichner "services:" erzeugt. Etwas eingekürzt:
Code:
if(truelog == false){
var Config = {
version: 1,
htmlTexts: true,
embedded: false,
groupByPurpose: true,
services: [
{
name: 'essentials',
default: true,
optOut: false,
required: true,
title: 'Login, Session Cookies',
purposes: ['essential'],
cookies: [],
},
{
name: 'youtube',
default: false,
title: 'Youtube',
purposes: ['extern'],
callback : function(consent, app){
if (typeof hideAllYoutubeContainer === "function") {
if (!consent) {
hideAllYoutubeContainer();
} else {
showAllYoutubeContainer();
}
}
},
required: false,
optOut: false,
onlyOnce: true,
},
],
};
};
Ich habe die Datei geclont und lasse die Original "config.js" nur die Variable füllen, wenn der Boarduser nicht angemeldet ist("truelog" wurde aus php übergeben). Wenn er jedoch angemeldet ist, soll mein clone laufen und die Variable füllen.
Jetzt zum Knackpunkt:
Im Admintool soll der Boardadmin aus (sagen wir mal) 3 weiteren vordefinierten Auswahlmöglichkeiten wählen können, welche cookies er dem einzelnen User anbieten möchte.
Daher fragt meine clone-config ab, ob die Schalter im Admintool auf "ja" stehen und fügt den erforderlichen Inhalt in je eine Variable ein (part1,part2,part3)
Code:
if(truelog == true){
if(schalter1 == true){
var part1 ={
services: [
{
name: 'ACP-Eintrag1',
default: false,
title: 'ACP-Eintrag1',
purposes: ['extern'],
callback : function(consent, app){
if (typeof hideAllYoutubeContainer === "function") {
if (!consent) {
hideAllYoutubeContainer();
} else {
showAllYoutubeContainer();
}
}
},
required: false,
optOut: false,
onlyOnce: true,
},
],
};
Diese Variablen möchte ich jetzt dem Array(?) hinzufügen.
Ich habe es mit Object.assign() versucht, dann überschreiben aber die optionalen Werte die Originalwerte und ich habe die essenzentiellen Cookies nicht mehr.
Dann habe ich "Config.concat(part1)" versucht, wobei ich die Meldung erhalte, "concat is not a function"
Ich bin mir gar nicht sicher, was ich hier habe. Ist es wirklich ein Array ? kann man den mitten in einer Variable nur durch Angabe der eckigen Klammern definieren ?
Und wie kann ich den erweitern ?
Fragen, Fragen, Fragen.....
Da ich nicht wusste wie ich das in der Suche bezeichnen sollte bitte ich um Nachsicht, wenn es schon einen Beitrag hierzu gibt und um Verlinkung des Beitrags in einer Antwort.