Wochentag über das Datum anzeigen

  • Seite 2 von 3
30.08.2023 16:27
#16 RE: Wochentag über das Datum anzeigen
ti
Mitglied

Jawoll ich habe den bug entdeckt. und kanns erklären wo Chrome und andere Browser gegenüber firefox unterschied haben.

hab ja festgestellt.. das die anzeige des tages nicht bei Firefox geht. ein NAN erscheint.
hier der unterschied bei dem Geburtstag Datum
und zwar bei Firefox muss man Das Datum anders schreiben
26-dec-2023 <<←-------


bei chrome und anderen kann es auch so sein 26.dec.2023
sobald man ein punkt macht.. mag das firefox nicht mehr

https://www.allgemeinesforum.de/page-testas123.html
zum testen auf anderen browsern..

werde das aktualisieren in dem Teil wo ich es euch erlaubt habe das per copy past zu entnehmen.


 Antworten

 Beitrag melden
30.08.2023 16:37
#17 RE: Wochentag über das Datum anzeigen
ti
Mitglied

https://www.allgemeinesforum.de/page-bei...nctioniret.html

jap gerade ausprobiert und klappt.. man kann es komplett copy past. und
member profil mit einfügen ..


<output id="datum">{{birthday_today==true.start}} <img src="{{global_birthday}}" style="vertical-align: middle; margin-right: 3px;"><small>{[userprofile_birthday_today]}</small> <hr/>{{birthday_today==true.end}} {{birthday_day}}-<output id="monats1"></output>-{{birthday_year}}
</output><output id="wochentag"></output> //</div>//

←----

das musst du dann nur austauschen gegen das orginal. .. könnte darstellung problem kommen
das mit mit </div> beendet habe


selbst wenn du das jetzt komplett so übernimmst.. siehst du oben auf der seite sofort geburtstag usw.


 Antworten

 Beitrag melden
30.08.2023 16:55 (zuletzt bearbeitet: 30.08.2023 16:56)
avatar  Mike48
#18 RE: Wochentag über das Datum anzeigen
avatar
Mitglied

@tiberian91

Seit es das Plugin System gibt erübrigt sich in den meisten Fällen Änderungen am Template. Änderungen am Template verhindern die Updates der geänderten Elemente und die Hilfe vom Support.

Wenn ich es nicht mit Plugins hinbekommen habe, dann habe ich abgewogen ob es sich lohnt, das Template zu ändern mit den entsprechenden Nebenwirkungen. Bis jetzt hat es sich nicht gelohnt.


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
30.08.2023 17:05
#19 RE: Wochentag über das Datum anzeigen
ti
Mitglied

Vielen dank für den Hinweis Mike48.

ja dazu mache ich mir auch mal gedanken. das komplett über forumcodes zu schreiben.
das ist aber halt auch eine kleine fummel arbeit mit ausblenden und einblenden von texten.
um den gewünschten effekt zu bekommen.
Allerdings der bug den ich entdeckte. bei firefox..
wenn das im Template auch unter . festgehalten wurde statt - könnte auch probs machen.


 Antworten

 Beitrag melden
30.08.2023 17:09
#20 RE: Wochentag über das Datum anzeigen
ti
Mitglied

mein script funktioniert dann nicht mehr.
wenn sich Forumcodes durch updates ändern sollten.

hab so ein halb halb system programmiert. abhängig von eigenen id´s und die der Template eigene


 Antworten

 Beitrag melden
30.08.2023 22:25 (zuletzt bearbeitet: 30.08.2023 22:34)
#21 RE: Wochentag über das Datum anzeigen
avatar
Mitglied

Wow,
mit so vielen Antworten hatte ich gar nicht gerechnet!
Danke, danke @l2otbart_57 @tiberian91 @Mike48

Super Informationen, auch dass FF nur ein bestimmtes Format erkennt...
Durch die Verwendung von if-Tags sollte nach einem Update noch alles funktionieren, oder ....

Habe dadurch eine machbare Lösung gefunden, denke ich:


Im FireFox


Was hat sich geändert:
Für die Template V1-4:

  • Habe aus Beitrag #2 das Grundkonzept verwendet, wegen den if-Tags "
  • "Oct" hinzugefügt
  • Für März "M\u00e4r" eingetragen (Beitrag #9)
  • Für FF folgenden Code hinzugefügt (Punkt wird entfernt), und Striche zwischen "dsplit" (Zeile 16) eingefügt (Beitrag #16)!

1
2
 
let m5=dsplit[1].substr(2,3);
if (m5=="." ) dsplit[1]=dsplit[1].replace(/.{0,1}$/, '');
 



Kann in die Kopf- oder Fußleiste:

  • In Zeile 4+22 stecken die verschiedenen Classes für die Templates
  • In Zeile 8 die Änderung für den März
  • In Zeile 22 wird das Datum mit dem Wochentag überschrieben!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<script>
// Für die Templates (v1-4)
$(function(){
var dateVar = $('.titlecell:contains("Geburtsdatum"), .c_r_content3 td:contains("Geburtsdatum"), .userInformations td:contains').next().html();
var dsplit = dateVar.split(" ");
 
let m4=dsplit[2].substr(0,3);
if (m4=="M\u00e4r" ) dsplit[2]="march";
if (m4=="Mai" ) dsplit[2]="may";
if (m4=="Okt" ) dsplit[2]="oct";
if (m4=="Dez" ) dsplit[2]="dec";
 
let m5=dsplit[1].substr(2,3);
if (m5=="." ) dsplit[1]=dsplit[1].replace(/.{0,1}$/, '');
 
const datum = new Date(''+dsplit[1]+'-'+dsplit[2]+'-'+dsplit[3]+'');
const wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
 
let woche = datum.getDay();
let day = wochentag[woche];
 
$('.titlecell:contains("Geburtsdatum"), .c_r_content3 td:contains("Geburtsdatum"), .userInformations td:contains').next().html(''+dateVar+' - '+day+'');
});
</script>
 




PS - Fürs V6:
Habe noch etwas festgestellt!
Im V6 verschieben sich die "dsplit" ....
Bin aber dabei...

30.08.2023 22:35 (zuletzt bearbeitet: 30.08.2023 22:40)
avatar  Mike48
#22 RE: Wochentag über das Datum anzeigen
avatar
Mitglied

Auch hier wieder meine Frage:
Warum muss das in die Fußteile obwohl das nur im Profil gebraucht wird?
Mit einem Plugin kann das gezielt im Profil positioniert werden und wird nicht unnötig auf jeder Seite geladen.
In meinem Forum ist die Fußteile fast leer.
Da ist nur das drin was auch auf allen Seiten gebracht wird.


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
31.08.2023 08:21
#23 RE: Wochentag über das Datum anzeigen
ti
Mitglied

@Wolfgang

danke danke , :-) dafür hast du mir die Forencodes näher gebracht. sehe immer nur die Vorteile.
wenn man sich austauscht. auch wenns vielleicht auf den ersten blick manchmal nicht so wichtig erscheint.
oder man vergisst . wie das verschiedene datum format auf FF .. wenn man das nicht weiß
kostet das auch 1-2 std harte überlegung. xD weil ja nur ein fehler ausgespuckt wird.

dank deines letzten Scripts. kann ich die Geburtagsgrüße auf Forumcodes programmieren.
werd ich mir am wochenende zur aufgabe machen .
Auch Vielen dank dir @Wolfgang


 Antworten

 Beitrag melden
31.08.2023 23:46
#24 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
avatar
Mitglied

@tiberian91

Hallo tiberian91,
habe das Skript fürs V6 & Mobil fertig!
Hier hat sich die Nummerierung der "splits" geändert.

Der Einfachheit wegen oder zum Testen kann es nach "Eigenes Javascript" kopiert werden, besser ist es natürlich ein Plugin anzulegen (Mitglieder Profil - Footer)!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<script>
// Für das neue Templates (v6) & Mobil
window.addEventListener('load', function(){
var dateVarDatum = $('#birthday_row .ptitle:contains("Geburtsdatum")').next().next();
var dateVar = dateVarDatum.html();
var dsplit = dateVar.split(" ");

let m4=dsplit[1].substr(0,3);
if (m4=="M\u00e4r" ) dsplit[1]="march";
if (m4=="Mai" ) dsplit[1]="may";
if (m4=="Okt" ) dsplit[1]="oct";
if (m4=="Dez" ) dsplit[1]="dec";

let m5=dsplit[0].substr(2,3);
if (m5=="." ) dsplit[0]=dsplit[0].replace(/.{0,1}$/, '');

const datum = new Date(''+dsplit[0]+'-'+dsplit[1]+'-'+dsplit[2]+'');
const wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];

let woche = datum.getDay();
let day = wochentag[woche];

dateVarDatum.append(' - '+day+'');
});
</script>
 



Hier mehr, mit Erklärungen:
Kalender für die Profil Optionen mit Wochentag - Teil 3

Nochmals besten Dank
Wolfgang

01.09.2023 03:59 (zuletzt bearbeitet: 01.09.2023 04:01)
avatar  Mike48
#25 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
avatar
Mitglied

Ich würde es mit einem Plugin machen.
Element: Mitglieder Profil Footer → user_profil_footer

Funktioniert im V4 und V6 (Mobil) und auch, wenn einer die Sprachvariable für den Geburtstag geändert hat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<script>
// Für das neue Templates (v6) & Mobil
window.addEventListener('load', function(){
{{template==144.start}}
var $dateVarDatum = $('#birthday_row .titlecell:contains("{[userprofile_birthday]}")').next();
{{template==144.end}}
{{template==177.start}}
var $dateVarDatum = $('#birthday_row .ptitle:contains("{[userprofile_birthday]}")').next().next();
{{template==177.end}}
var wochentag = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"];
var gebTag = new Date({{birthday_year}}, "{{birthday_month}}".replace(/\D/g,"")-1,{{birthday_day}});
var wTag = wochentag[gebTag.getDay()];
$dateVarDatum.append(' - '+wTag+'')
});
</script>
 
 


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
01.09.2023 06:45 (zuletzt bearbeitet: 01.09.2023 06:51)
#26 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
ti
Mitglied

@Wolfgang

Vielen dank :-)
Hab schon Hohes interesse mit zu helfen an Template Projekten.
Find mich aber da noch zu Nooby für. Beziehungsweise Javascript allein Reicht da nicht aus :-)
Muss mich genauer mit den Forum eigenen api beschäftigen.
ich weiß irgendwie lässt sich "mein test plugin" auch in api speichern.
ohne das man copy past machen muss.
Hatte gestern noch versucht die <form aus dem admin system zu nehmen und es in einem Bereich für admins eingefügt. Musste dann feststellen das sich das ja um 2 unterschiedliche Webseiten handelt.
Und diese nicht verknüpft sind. also nur von Webseite A zu Webseite B speichert.
das hab ich gestern versucht umzudrehen. leider noch ohne erfolg. dann bin ich auf die idee gekommen.
in dem man neues textfeld anlegt. nur da wird dann auch wieder etwas knifflig. durch das hab ich ausversehen schon mal meine account email addresse auf dem forum gelöscht. weil ich die <form für ändern des profils benutzt habe.

Dein Script hilft mir da auch sehr. in meinen überlegungen. Vorallem jetzt mit den unterschiede finde ich
natürlich noch besser :-)

Mfg


 Antworten

 Beitrag melden
01.09.2023 20:47
#27 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
ti
Mitglied

ich hab mich einfach mal getraut. :-D danke echt für dein script.
durch das zeigen weiß ich jetzt auch wie ich input nicht mehr type=hidden stellen muss.

habs davor einfach noch nicht probiert . forumcodes direkt im script als var zu verwenden.

so konnte ich sogar nochmal mein script verbessern :-D
echt lustig.

<script>

setTimeout(month, 300);

function month(){
var monats = "{{birthday_month|gettranslation(month)}}";
var monats1 = document.getElementById("monats1").value;
document.getElementById("monats1").innerHTML = monats;

}


</script>

allerdings fehlt mir nur noch eins in meiner sprache den output auch noch über class festzulegen.


 Antworten

 Beitrag melden
01.09.2023 21:59 (zuletzt bearbeitet: 01.09.2023 22:02)
#28 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
avatar
Mitglied

@Mike48 @tiberian91

Wow, einfach genial!
Hallo zusammen, ich finde es gut, wenn es auch in allen Templates funktioniert!
Habe das Skript von Mike48 etwas angepasst.
Der Pfad braucht auch nur einmal angegeben werden.
Läuft als Plugin in allen Templates & Mobil, auch im FF (Mitglieder Profil Footer → user_profil_footer).

Was mir aufgefallen ist: Im "ProSilver (v2)" finde ich das Geburtsdatum nicht. Ist das so?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<script>
// Für alle Templates & Mobil
window.addEventListener('load', function(){
var $dateVarDat = $('#birthday_row .titlecell:contains("{[userprofile_birthday]}"), .c_r_content3 td:contains("{[userprofile_birthday]}"), .userInformations td:contains("{[userprofile_birthday]}")').next();
{{template==144|111|110|1.start}}
var $dateVarDatum = $dateVarDat;
{{template==144|111|110|1.end}}

{{template==177.start}}
var $dateVarDatum = $dateVarDat.next();
{{template==177.end}}
var wochentag = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"];
var gebTag = new Date({{birthday_year}}, "{{birthday_month}}".replace(/\D/g,"")-1,{{birthday_day}});
var wTag = wochentag[gebTag.getDay()];
$dateVarDatum.append(' - '+wTag+'')
});
</script>
 



VG

01.09.2023 22:32 (zuletzt bearbeitet: 01.09.2023 22:47)
#29 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
avatar
Mitglied

Sorry, war zu schnell.....
Hatte die Class und ID fürs V6 vergessen!

Hier das Skript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<script>
// Für alle Templates & Mobil
window.addEventListener('load', function(){
var $dateVarDat = $('#birthday_row .ptitle:contains("{[userprofile_birthday]}"), #birthday_row .titlecell:contains("{[userprofile_birthday]}"), .c_r_content3 td:contains("{[userprofile_birthday]}"), .userInformations td:contains("{[userprofile_birthday]}")').next();
{{template==144|111|110|1.start}}
var $dateVarDatum = $dateVarDat;
{{template==144|111|110|1.end}}

{{template==177.start}}
var $dateVarDatum = $dateVarDat.next();
{{template==177.end}}
var wochentag = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"];
var gebTag = new Date({{birthday_year}}, "{{birthday_month}}".replace(/\D/g,"")-1,{{birthday_day}});
var wTag = wochentag[gebTag.getDay()];
$dateVarDatum.append(' - '+wTag+'')
});
</script>
 



VG

02.09.2023 02:21
#30 RE: Wochentag über das Datum anzeigen fürs V6 & Mobil
ti
Mitglied

da beneide ich dich echt :-) deine arbeit funktioniert auch dann in allen sprachen.

immerhin hab jetzt sogar mit deiner hilfe das geschafft endlich auch ohne output variable einzufügen.
oder input :-) nochmal danke.

<script>

function test12(){

var monatvari = "{{birthday_month|gettranslation(month)}}";

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = monatvari;

}



setTimeout(month, 30);

function month(){
var monats = "{{birthday_month|gettranslation(month)}}";
var monats1 = document.getElementById("monats1").value;
document.getElementById("monats1").innerHTML = monats;

}


</script>
<script>
setTimeout(texta, 10);
var gebrtag = "{{birthday_day}}";
var gebrtagjahr = "{{birthday_year}}";
function texta(){



var monats = "{{birthday_month|gettranslation(month)}}";


var jan = "Januar";
var feb = "Februar";
var marz = "März";
var april = "April";
var mai = "Mai";
var juni = "Juni";
var juli = "Juli";
var aug = "August";
var sep = "September";
var oct = "Oktober";
var nov = "November";
var dez = "Dezember";

if(monats == jan){





const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "Jan" + "-" + gebrtagjahr;




}
if(monats == feb){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "feb" + "-" + gebrtagjahr;
}
if(monats == marz){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "march" + "-" + gebrtagjahr;
}
if(monats == april){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "april" + "-" + gebrtagjahr;
}
if(monats == mai){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "may" + "-" + gebrtagjahr;

}
if(monats == juni){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "June" + "-" + gebrtagjahr;

}
if(monats == juli){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "July" + "-" + gebrtagjahr;

}
if(monats == aug){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "aug" + "-" + gebrtagjahr;

}
if(monats == sep){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "sep" + "-" + gebrtagjahr;

}
if(monats == oct){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "oct" + "-" + gebrtagjahr;

}
if(monats == nov){

const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "nov" + "-" + gebrtagjahr;

}
if(monats == dez){


const collection = document.getElementsByClassName("tablecell");
collection[5].innerHTML = gebrtag + "-" + "dec" + "-" + gebrtagjahr;

}
}


setTimeout(wochentaganzeigen, 20);

function wochentaganzeigen(){

var gebrtag = "{{birthday_day}}";
var gebrtagjahr = "{{birthday_year}}";
const collection = document.getElementsByClassName("tablecell");
const d = new Date(collection[5].innerHTML);


collection[5].innerHTML = gebrtag + "-" + "dec" + "-" + gebrtagjahr + " " + d.getDay();



}


</script>

wenn man das jetzt blind einfügt im mitglieder profil . wird das direkt so übersetzt. allerdings ist der Tag noch eine Zahl von 0-6 . da muss ich jetzt noch eine if machen. was das wieder in text umwandelt :-)


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!