Beiträge von Sammyz
-
-
Hallo,
Wenn das Foto in dem Verzeichnis https://www.nyman.at abgelegt ist sollte das kein Problem darstellt.
Bitte überprüfe genau wo das Bild abgelegt wird und teile uns das mit. Unter einer Mailadresse wie Du das schreibts funktioniert natürlich nicht.Code<div class="dmCustomHtml" data-element-type="html" id="1881088337" style="text-align: center;"> <img src="https://www.Deine Domain mit Verzeichnissangabe LatestImage.jpg" width="90%" style="box-shadow: 6px 6px 6px grey;"> </div>So in etwa könnte es aussehen
Gruß
Sammy
-
Hallo,
Mir fällt immer wieder auf das ,dass löschen von Bildern immer eine Ewigkeit dauert. Könnt Ihr das mal überprüfen. Bei Texten geht es normal.
Ich verwende die neuste 17 Version.
GrußSammy
-
Geht doch . Was ist denn das Problem?
Gruß
Sammy
-
Hi,
Schau mal ob ein Backup auf dem Server des Provider liegt, dan kannst Du es Downloaden und mit Zeta importieren.
Sonst bleibt Dir nichts übrig die Seiten neu aufzubauen.Gruß
Sammy
-
Hi,
Ist es möglich Orte für Termine eine Farbauswahl einzubauen und den aktuellen Tag farbig darzustellen. Hier mal ein Skript wie ich es gelöst habe als Beispiel.
CSS
Alles anzeigen<style> /* Hervorhebung für MRT-Events (bereits vorhanden) */ .samson_red { background-color: red !important; color: white !important; } .samson_red .eventlink { color: white !important; } .samson_red:hover, .samson_red:hover .eventlink { color: black !important; } @media (prefers-color-scheme: dark) { .samson_red:hover, .samson_red:hover .eventlink { color: darkblue !important; } } .dark .samson_red:hover, .dark .samson_red:hover .eventlink { color: darkblue !important; } /* Heutiger Tag im Kalender → nur Zahl in kräftigem Lila */ .cal-today { background: none !important; /* kein Hintergrund */ color: #ff00ff !important; /* kräftiges Lila */ font-weight: bold; /* fett */ } </style> <script> (function () { // ----- Helfer ----- function isOffMonth(el) { if (!el) return false; const cls = (el.className || "").toString(); return /off|other|muted|disabled|adjacent-month|prev-month|next-month/i.test(cls); } function parseDateFromString(s) { if (!s) return null; s = s.trim(); // YYYY-MM-DD let m = s.match(/(\d{4})-(\d{1,2})-(\d{1,2})/); if (m) return { year: +m[1], month: +m[2]-1, day: +m[3] }; // DD.MM.YYYY m = s.match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/); if (m) return { year: +m[3], month: +m[2]-1, day: +m[1] }; // e.g. "September 12, 2025" or "12 September 2025" m = s.match(/([A-Za-zÄÖÜäöü]+)\s+(\d{4})/); if (m) { // try to find day in string as well const monthNames = { "januar":0,"februar":1,"märz":2,"maerz":2,"april":3,"mai":4,"juni":5, "juli":6,"august":7,"september":8,"oktober":9,"november":10,"dezember":11, "January":0,"February":1,"March":2,"April":3,"May":4,"June":5, "July":6,"August":7,"September":8,"October":9,"November":10,"December":11 }; // try to extract day const dayMatch = s.match(/(\d{1,2})/); const day = dayMatch ? +dayMatch[0] : null; const monKey = m[1].toLowerCase(); const mon = monthNames[monKey]; if (typeof mon === "number" && day) return { year: +m[2], month: mon, day: day }; } return null; } function daysInMonth(year, month) { return new Date(year, month+1, 0).getDate(); } // ----- Markierungslogik für heute ----- function markTodayInCalendar() { // clear old marks document.querySelectorAll(".cal-today").forEach(el => el.classList.remove("cal-today")); const today = new Date(); const tDay = today.getDate(); const tMonth = today.getMonth(); const tYear = today.getFullYear(); // Header: <b>September 2025</b> const header = document.querySelector("b"); if (!header) return; const headerText = header.textContent.trim(); // "September 2025" const parts = headerText.split(/\s+/); if (parts.length < 2) return; const monthName = parts.slice(0, parts.length-1).join(" "); const yearStr = parts[parts.length-1]; const displayedYear = parseInt(yearStr, 10); const monthMap = { "Januar":0,"Februar":1,"März":2,"April":3,"Mai":4,"Juni":5, "Juli":6,"August":7,"September":8,"Oktober":9,"November":10,"Dezember":11, // English variants (if necessary) "January":0,"February":1,"March":2,"April":3,"May":4,"June":5, "July":6,"August":7,"September":8,"October":9,"November":10,"December":11 }; const displayedMonth = monthMap[monthName]; if (typeof displayedMonth !== "number") return; // Nur markieren, wenn Header-Monat == aktueller Monat/Jahr if (displayedMonth !== tMonth || displayedYear !== tYear) return; // 1) Direktes Erkennen per data-date / aria-label / title const selectorCandidates = Array.from(document.querySelectorAll('[data-date], [data-day], [aria-label], [title], td, div')); for (const el of selectorCandidates) { // skip invisible elements if (!el.offsetParent) continue; // check data-date const dd = el.getAttribute('data-date') || el.getAttribute('data-date-iso') || el.getAttribute('data-date-full'); if (dd) { const parsed = parseDateFromString(dd); if (parsed && parsed.day === tDay && parsed.month === tMonth && parsed.year === tYear) { el.classList.add('cal-today'); return; } } // check aria-label or title const al = el.getAttribute('aria-label') || el.getAttribute('title'); if (al) { const parsed = parseDateFromString(al); if (parsed && parsed.day === tDay && parsed.month === tMonth && parsed.year === tYear) { el.classList.add('cal-today'); return; } } // check data-day + data-month/year const dday = el.getAttribute('data-day'); if (dday) { const dmonth = el.getAttribute('data-month'); const dyear = el.getAttribute('data-year'); if (dmonth !== null && dyear !== null) { if (+dday === tDay && +dmonth === tMonth && +dyear === tYear) { el.classList.add('cal-today'); return; } } } } // 2) Fallback: mapping based on grid detection // collect visible numeric cells const allCells = Array.from(document.querySelectorAll('td, div')).filter(el => el.offsetParent && /^\s*\d{1,2}\s*(?:$|\n|[^\d])/.test((el.textContent||"").trim())); if (!allCells.length) return; // try to find candidate indices where cell text == "1" and cell not offMonth const numeric = allCells.map(el => ({ el, n: parseInt((el.textContent||"").trim(),10) || 0, off: isOffMonth(el) })); const candidates = numeric.reduce((acc, item, idx) => { if (item.n === 1 && !item.off) acc.push(idx); return acc; }, []); const dim = daysInMonth(displayedYear, displayedMonth); let found = false; for (const startIdx of candidates) { // validate small run: check that next few cells increment 1,2,3... let valid = true; for (let k=0; k<Math.min(4, dim); k++) { const idx = startIdx + k; if (idx >= numeric.length) { valid = false; break; } if (numeric[idx].n !== (k+1)) { valid = false; break; } } if (!valid) continue; const targetIdx = startIdx + (tDay - 1); if (targetIdx < numeric.length) { const targetCell = numeric[targetIdx].el; if (!isOffMonth(targetCell)) { targetCell.classList.add('cal-today'); found = true; break; } } } // 3) letzter Versuch: direkte match by text but ensure element is not marked as off-month and is inside calendar-range if (!found) { for (const item of numeric) { if (item.n === tDay && !item.off) { // sanity: ensure this element is in same row-group as other month-days (heuristic) item.el.classList.add('cal-today'); found = true; break; } } } // fertig (falls nicht gefunden: nichts markieren) } // ----- MRT-Event Hervorhebung (dein bestehendes) ----- function bimboHolen() { const events = document.querySelectorAll(".withevent"); events.forEach((event, index) => { const link = event.querySelector("a"); if (!link) return; const title = link.title || ""; if (title.includes("MRT Rosenheim") || title.includes("MRT-Rosenheim")) { if (!event.classList.contains("samson_red")) event.classList.add("samson_red"); } }); // dann Kalender markieren markTodayInCalendar(); } // MutationObserver: kalenderupdates & DOM-Änderungen const observer = new MutationObserver(() => { // etwas debounce, damit bei vielen Änderungen nicht zu oft ausgeführt wird clearTimeout(window.__calMarkTimeout); window.__calMarkTimeout = setTimeout(() => { bimboHolen(); }, 120); }); observer.observe(document.body, { childList: true, subtree: true }); // initial document.addEventListener("DOMContentLoaded", bimboHolen); // falls du manuell triggern willst: window.markCalendarToday = markTodayInCalendar; })(); </script> -
Entscheiden Sie sich für Zeta Producer, so erwerben Sie grundsätzlich eine Einzelbenutzerlizenz. Das bedeutet, dass für jeden Benutzer, der mit dem Programm arbeitet, eine eigene Lizenz erworben werden muss.
Es ist jedoch erlaubt, dass Zeta Producer sowohl auf dem PC als auch auf dem Laptop installiert wird, solange nur eine Person daran arbeitet.
Mit der erworbenen Lizenz können unbegrenzt viele Websites erstellt werden. Sollten Dritte Änderungen an der Website vornehmen wollen, so müssen diese auch eine eigene Lizenz erwerben.
Gruß
Sammy
-
rufen sie einfach mal die seite https://bh-berlin-test.de/auf und dann rechts oben auf "internes"
-
Hi,
Ich habe es mal getestet. Wenn ich die Seite in Zeta lösche oder unter Einstellung die Seite nicht Veröffentlichen dann sind die Seiten nicht mehr auf dem Server. Also werden Seiten auf dem Server gelöscht.
Gruß
Sammy
-
Ja hallo das mit dem Windows Defender sollte man nicht deaktivieren nur das Zeta flüssig läuft. Da sollet sich das Team noch mal hinsetzen um dieses Problem zu lösen.
Gruß
Sammy
-
Hi hier das Skript aufgeräumt mit Erklärung Text und es kann man leichter erweitern.
GrußSammy
<script>
let erlaubt = false;// Prüft die Bildschirmbreite und setzt "erlaubt"
function checkScreenWidth() {
erlaubt = window.innerWidth > 500;
console.log("Screenbreite:", window.innerWidth, "| erlaubt:", erlaubt);
}// Beim Start und bei jeder Fensteränderung prüfen
checkScreenWidth();
window.addEventListener("resize", checkScreenWidth);// Funktion zum Verbinden von Thumbnail & großem Bild
function setupImageToggle(thumbId, imageId) {
const thumb = document.getElementById(thumbId);
const image = document.getElementById(imageId);if (!thumb
!image) return;thumb.addEventListener("click", () => {
if (erlaubt) image.style.display = "flex";
});image.addEventListener("click", () => {
image.style.display = "none";
});
}// Alle Bildpaare hier eintragen
setupImageToggle("thumb1", "bild1");
setupImageToggle("thumb2", "bild2");
// Bei Bedarf weitere aufrufen: setupImageToggle("thumb3", "bild3");</script>
-
Na dann ist alles gut wenn es Dir gefällt.
GrußSammy
-
Du darfst das Skript nicht bei der Cam einfügen. Sondern ein extra html Widget auf der Seite mit dem Skript einfügen.
Aber das von Philipp ist auch eine Lösung. -
nein das Skript nicht in der Cam einfügen sonder als extra im HTML widgets einfügen.
-
Das Skript aus den CSS löschen.
-
nein das Skript auf der Seite mit html widgets einfügen.
und das in die CSS einfügen
<style>
.thumb_box {
width: 100%;display: flex;
justify-content: center;
align-items: center;
box-shadow: 6px 6px 6px grey, -2px -2px 4px white;}
.bild_box {
position: flex;
flex-direction: column;
width: 100%;
justify-content: center;
align-items: center;
position: fixed;
}
.transparent-iframe {
background-color: transparent;
border: none;
width: 100%;
height: 620px;
}</style>
-
hast Du WhatsApp? Dann könnten wir mal über WhatsApp sprechen.
-
bei der zweiten Cam musst Du dann "id=bild2" eintragen und id="thumb2"
-
mach das erst mal für die erste Cam.
-
habe noch was vergessen. Du musst noch ein HTML einfügen am besten unten. Das ist dann das Skript.
<script>
let screenie = 100;
let erlaubt = "nein";
setInterval(function () {
screenie = window.innerWidth;
console.log("screenie: ", screenie);
if (screenie > 500) {
erlaubt = "ja"
}
else
{erlaubt = "nein";}
console.log("erlaubt: ", erlaubt);}, 500);
let dumbo = document.getElementById("thumb1");
let bild = document.getElementById("bild1");
dumbo.addEventListener("click", function () {
if (erlaubt == "ja") bild.style.display = "flex";
// dumbo.style.display = "none";
});
bild.addEventListener("click", function () {
bild.style.display = "none";
//dumbo.style.display = "flex";
});
let dumbo2 = document.getElementById("thumb2");
let bild2 = document.getElementById("bild2");
dumbo2.addEventListener("click", function () {
if (erlaubt == "ja") bild2.style.display = "flex";
// dumbo.style.display = "none";
});
bild2.addEventListener("click", function () {
bild2.style.display = "none";
//dumbo.style.display = "flex";
});
</script> -
<style>
.thumb_box {
width: 100%;display: flex;
justify-content: center;
align-items: center;
box-shadow: 6px 6px 6px grey, -2px -2px 4px white;}
.bild_box {
position: flex;
flex-direction: column;
width: 100%;
justify-content: center;
align-items: center;
position: fixed;
}
.transparent-iframe {
background-color: transparent;
border: none;
width: 100%;
height: 620px;
}</style>
-
und das CSS: nicht mit kopieren
-
das css must du unter Einstellung css einfügen!
-
einfach den Videolink einfügen un gut ist es ist egal ob Bild oder Video.
Siehts ja auf meiner Seite wies funktioniert. Solle es denn so aussehen? -
<div class="thumb_box">
<!-- Thumbnail -->
<img src="https://playa-cam.es/camera1" style="width: 100%; cursor: pointer;" id="thumb1" />
</div><div id="bild_box1"align="center">
<img src="https://playa-cam.es/camera1" class="bild" id="bild1" style="position: fixed; top:50px; left:15vw; width: 70vw; z-index:1000; background-color: #aaffaa;
box-shadow: 6px 6px 6px grey, -2px -2px 4px white;cursor: pointer; display:none;" />
</div>css: .thumb_box {
width: 100%;display: flex;
justify-content: center;
align-items: center;
box-shadow: 6px 6px 6px grey, -2px -2px 4px white;}
.bild_box {
position: flex;
flex-direction: column;
width: 100%;
justify-content: center;
align-items: center;
position: fixed;
}
.transparent-iframe {
background-color: transparent;
border: none;
width: 100%;
height: 620px;
} -
schau mal noch mal hier meinst du es so? https://mrt-rosenheim.de/webcam.php
-
<img src="wo die Webcam das Bild ablegt " class="bild" id="bild1" style="position: fixed; top:50px; left:15vw; width: 70vw; z-index:1000; background-color: #aaffaa;
Da must du noch den Pfad des Bildes einfügen
-
css fehlt noch.
.thumb_box {
width: 100%;display: flex;
justify-content: center;
align-items: center;
box-shadow: 6px 6px 6px grey, -2px -2px 4px white;}
.bild_box {
position: flex;
flex-direction: column;
width: 100%;
justify-content: center;
align-items: center;
position: fixed;
}
.transparent-iframe {
background-color: transparent;
border: none;
width: 100%;
height: 620px;
} -
Hi,
Musst de über html einfügen. Zum Beispiel so. Hier das Beispiel, https://mrt-rosenheim.de/webcam.php
<div class="thumb_box">
<!-- Thumbnail -->
<img src="https://www.platzcam.de/MRT1.jpg" style="width: 100%; cursor: pointer;" id="thumb1" />
</div><div id="bild_box1"align="center">
<img src="wo die Webcam das Bild ablegt " class="bild" id="bild1" style="position: fixed; top:50px; left:15vw; width: 70vw; z-index:1000; background-color: #aaffaa;
box-shadow: 6px 6px 6px grey, -2px -2px 4px white;cursor: pointer; display:none;" />
</div> -
Download älterer Versionen von Zeta ProducerOldies but Goldies: Auf dieser Seite stellen wir Ihnen ältere Versionen von Zeta Producer zum Download bereit.www.zeta-producer.com
Lade Dir mal die letzte Version runter.
Gruß Sammy
-
Okay werde ich mal umsetzen. Danke
Gruß Sammy
-
Hallo Steffen,
Schau mal auf das Bild, wie es abwärts ging bei Google. Im April waren 47 Seiten und jetzt steht es bei 14 Seiten.
Gruß
Sammy
-
Hallo,
Ich habe festgestellt das seit der Version 17 die indexierten Seiten immer weniger werden.
Ich habe schon einiges versucht aber es half nicht. Kann mir da einer einen Tip geben?Gruß
Sammy
-
Hallo,
Wenn Du den Ordner von der Version 16 nicht gelöscht hast oder noch ein Backup hast dann ist das kein Problem.
Die 16 Version kann man sich noch downloaden.Gruß Sammy
-
Hallo, Warum steht da display: none? Wird dadurch ausgeblendet. Wenn ich das deaktiviere erscheint alles wie es soll.
GrußSammy
element.style {
}
.zpblogartikel .zpblogreadmore[id] a {display: none;
}
-
<img src="http://localhost:10698/get-file/C:%5C…1e08612f142.jpg" alt="BEMER-Therapie" class="singleImage fr-draggable" style="width: 100%; border-radius: 4px; margin: 4px 0 10px;" loading="lazy">
Komisch Bild zeigt auf localhost

Gruß Sammy
-
Ich hänge mich da auch mal rann. Bei mir ist es so gewesen. Habe auf der Deutschen Seite Bilder mit Slider Funktion eingefügt.
Dann habe ich die gleichen Bilder in der englischen Version eingefügt über importierte Bilder und auf einmal waren die importierten Bilder gelöscht. Keine Fehlermeldung oder dergleichen.Gruß
Sammy
-
Wenn man sich über Kontakt zum Kurs anmelden kann, dann ist es gewiss nicht privater Natur.
Und alles unter WhatsApp als Anmeldung hat schon sein geschmeckle.Gruß Sammy
-
Ist zwar nicht optimal, musste noch ein Eintrag in die CSS machen um den Cookie Consent wirklich unten links in der Ecke zu haben.
}
#consenttoggle.bottom_left_fix{
left: 0px;
}Gruß
Sammy
-