Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
#1 08. Juni 2011 07:10
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
[GELÖST] Scrolling - Position in Cookie gespeichert
Hallo!
Ihr habt mir bei meiner Seite ja schon ordentlich geholfen.
Jetzt hab ich noch ein Attentat - Die Position des Scrolls auf der linken Seite (www.foto-riedler.com/index.php?page=women) wird in einem Cookie gespeichert, da wenn man zB unter Frauen nach unten scrollt und eine anklickt, lädt er die Seite neu und der Scroller würde nach oben springen. So springt er wieder an die Position an die man gescrollt ist.
Fährt man nun mit dem Scrollbalken nach unten und klickt dann auf Männer, stellt er den Scrollbalken auf die Position, die er vorher bei den Frauen gespeichert hat. Problem dabei - wenn es weniger Bilder gibt, wie eben bei den Männern, dann sieht man nichts. Dass heißt ich müsste den Cookie wenn man auf Männer klickt löschen. Wie mach ich das am besten - Vielen Dank!
Offline
#2 08. Juni 2011 08:28
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Oder den "alten" Cookie mit einem neuen überschreiben ... oder einen zweiten Cookie verwenden.
Offline
#3 08. Juni 2011 09:27
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Was natürlich mehr Sinn macht, da ja bei den anderen ja auch mal mehr dazukommen können...
Ok, dann werd ich mich mal drüberhermachen...
Das Problem dabei ist ja, das es im zentral Template liegt und er dort auch den Cookie anlegt...
Beitrag geändert von brandy (08. Juni 2011 09:28)
Offline
#4 08. Juni 2011 09:38
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
ob du dir mit deiner cookielösung da nen gefallen getan hast? habe sowas schon mal mit ajax gemacht:
http://www.somafcotrust.org.za/media/audiovideo/
oder verpasse ich da was?
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#5 08. Juni 2011 10:25
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Wieso? Funktioniert eh gut... Leider muss ich jetzt noch anpassen, aber normal sollte das kein Problem sein!
Welche Vorteile hätte die Ajax-Methode?
Beitrag geändert von brandy (08. Juni 2011 10:29)
Offline
#6 08. Juni 2011 12:42
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Die AJAX Methode würde die Seite nicht komplett neu laden, wenn man links auf eines der Gallerys klickt, sondern nur den Teil, den Du brauchst (sofern im Link ein "showtemplate=false" mitgesendet wird).
Ich habe sowas z.B. auch hier für News und CGCalendar gemacht: http://www.weta-trimaran.de (linke spate)
Da kann man sich durch News und Kalender-Einträge klicken, ohne dass die Seite neu geladen wird.
Alle Links, die ihren Inhalt per AJAX laden sollen bekommen eine Klasse (z.B. "ajax_link"). Und mit jQuery werden alle diese Links mit einer click-Funktion versehen. Diese Funktion hängt dann den Parameer "showtemplate=false" an das href-Attribut und holt sich den Inhalt dann mit jQuery.get(...).
Für die Upcomming-Events (unten links) habe ich es dann so gelöst, dass jeder Link bereits im Template ein onclick bekommt, bei dem außerdem noch ein "target" angegeben wird, um das Ergebnis dann im Inhaltsbereich anzuzeigen. (läuft gefühlt schneller, als wenn die Seite komplett neu geladen wird.)
Dasselbe hatte ich auch bei der Bilder-Seite (unter media->bilder) für die Gallery, aber da fehlten dann immer die Javascripts und Styles der Gallery, da sobald der Parameter showtemplate=false mitgesendet wird, außer der Modul-Ausgabe keinerlei Templates verarbeitet werden. (d.h. Gallery kann JS und CSS nicht im Head einfügen)
Die Sache mit den Cookies ist die: Irgendwelche völlig realitätsfremden Obergurus haben beschlossen, dass Cookies nur noch gesetzt werden dürfen, wenn der Seitenbesucher diesem ausdrücklich zustimmt:
http://www.cmsmadesimple.de/forum/viewtopic.php?id=538
Ausnahme sollten evtl. Session-Cookies sein, ohne die eine Seite nicht funktionieren würde. Das ist bei Dir aber nicht der Fall. Das Gesetz sollte Ende Mai inkrafttreten. Kennt da eigentlich jemand den aktuellen Stand?
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#7 08. Juni 2011 13:19
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Ja hört sich alles toll an, aber in meinem konkreten Fall würde das ja eine komplette Umkrempelung des Aufbaus bedeuten.
Wie würde das in etwa aussehen, die Position des Scrollers in den verschiedenen Unterpunkten zu speichern? Wäre soetwas viel Aufwand?
Offline
#8 08. Juni 2011 14:35
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Eine temporäre Lösung wäre, dass ich für jeden Menüpunkt mit Scroll ein eigenes Template anlege, so dass jeder seinen eigenen Cookie hat...
Offline
#9 08. Juni 2011 14:36
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Wie legst Du das Cookie an? Wie heißt es? Kannst Du nicht einfach das Seiten-Alias als Cookie-Name verwenden?
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#10 08. Juni 2011 14:49
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Es wird im Template angelegt - hier der Code:
<script type="text/javascript">
function init_dw_Scroll() {
// arguments: id of div container, id of div to scroll
var wndo = new dw_scrollObj('wn', 'lyr1');
wndo.setUpScrollControls('scroll_links');
// mousewheel not supported for cookie restore
dw_scrollObj.removeMousewheelScroll(wndo);
// args: reference to scroll area (wndo), name for cookie
dw_scrollObj.restoreCookieVals(wndo, 'scroll_demo');
}
// if code supported, link in the style sheet and call the init function onload
if ( dw_scrollObj.isSupported() ) {
dw_Util.writeStyleSheet('css/cookie_restore.css');
dw_Event.add( window, 'load', init_dw_Scroll);
}
/////////////////////////////////////////////////////////////////////
// functions to set/get cookie for scroll position
// place in an external file for use thoughout your site
dw_scrollObj.setupCookieSave = function(wndo, cookie) {
dw_Scrollbar_Co.addEvent(wndo, 'on_scroll_stop', setCookie );
dw_Scrollbar_Co.addEvent(wndo, 'on_glidescroll_stop', setCookie );
dw_Scrollbar_Co.addEvent(wndo, 'on_scroll_end', setCookie );
dw_Scrollbar_Co.addEvent(wndo, 'on_glidescroll_end', setCookie );
var vBarObj = dw_Slidebar.col[wndo.vBarId];
var hBarObj = dw_Slidebar.col[wndo.hBarId];
if ( vBarObj ) {
dw_Scrollbar_Co.addEvent(vBarObj, 'on_drag_end', setCookie );
dw_Scrollbar_Co.addEvent(vBarObj, 'on_slide_end', setCookie );
}
if ( hBarObj ) {
dw_Scrollbar_Co.addEvent(hBarObj, 'on_drag_end', setCookie );
dw_Scrollbar_Co.addEvent(hBarObj, 'on_slide_end', setCookie );
}
function setCookie() {
var x = wndo.getX();
var y = wndo.getY();
dw_Cookie.set(cookie, x + ':' + y, null, '/');
}
}
dw_scrollObj.restoreCookieVals = function (wndo, cookie) {
dw_scrollObj.setupCookieSave(wndo, cookie);
var c = dw_Cookie.get(cookie), vals, x, y;
if ( c ) {
vals = c.split(':');
x = vals[0];
y = vals[1];
}
if ( x || y ) {
wndo.initScrollToVals(-x, -y, 1);
}
}
// remove mousewheel listener
dw_scrollObj.removeMousewheelScroll = function (wndo) {
var wn = document.getElementById(wndo.id);
if (wn.removeEventListener) {
wn.removeEventListener('DOMMouseScroll', dw_scrollObj.doOnMouseWheel, false);
}
wn.onmousewheel = null;
}
//
/////////////////////////////////////////////////////////////////////
</script>
Hmm..., gute Idee, werd ich mal ausprobieren!
Vielen Dank!
Offline
#11 08. Juni 2011 16:11
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Hab jetzt im Template (siehe oben) 'scroll_demo' mit {$node->alias} ersetzt - er trägt mir jetzt aber nicht den Alias in den Cookienamen ein.
Offline
#12 08. Juni 2011 16:21
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
{$node->alias} ist eine Variable des Menumanagers.
{$page_alias} enthält den Alias der aktuellen Seite.
Ich verstehe nicht ganz wann und wo der Cookie Name gesetzt wird.
Woher weiß das Script, wie das Cookie heißen muss?
Solltest Du das direkt irgendwo ins Javascript eingefügt haben, bedenke, dass Dein Script mit Sicherheit in {literal} ... {/literal} Tags steht. Dadurch wird '{$page_alias}' nicht verarbeitet, sondern exakt so ans Javascript übergeben.
Du musst das Alias genau umgekehrt maskieren: {/literal}{$page_alias}{literal}
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#13 08. Juni 2011 16:48
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Habs jetzt so wie du gesagt hast im Template eingebaut - im Quelltext wirds richtig ausgegeben aber leider wird der Cookie nicht angelegt - ich werde mal Kontakt mit denen aufnehmen und nachfragen - werd Bescheid geben was rausgekommen ist...
Offline
#14 08. Juni 2011 19:44
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Hat genau so funktioniert wie du gesagt hast. Funktioniert bestens.
Vielen vielen Dank!
Offline
#15 09. Juni 2011 09:25
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Hallo!
So hab jetzt doch noch ein Problem festgestellt.
Er erzeugt mir bestens einen Cookie und speichert darin auch die Position des Scrollers.
Nur leider bei Klick auf ein Projekt öffnet er ja praktisch eine neue Seite, weshalb ich dann für jedes Projekt einen Cookie habe.
Ich würde nur einen pro übergeordnete Seite brauchen - kann ich die auch irgendwie abfragen?
Vielen Dank!
Offline
#16 09. Juni 2011 09:56
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Wenn es nur um die direkt übergeordnete Seite geht, geht das mit {$content_obj->ParentId()}.
Das gibt die Seiten ID der übergeordneten Seite aus.
Wenn es keine gibt, dann wird -1 zurückgegeben.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#17 09. Juni 2011 10:01
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Kann ich deren Alias auch abfragen?
Offline
#18 09. Juni 2011 10:14
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Da bräuchtest Du ein weiteres Modul: CGSimpleSmarty
Und dann mit {get_parent_alias()}
Weitere Infos dazu gibt's hier: http://wiki.cmsmadesimple.org/index.php … ple_Smarty
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#19 09. Juni 2011 12:47
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
{/literal}{get_parent_alias()}{literal}
Habs wie oben stehend eingebaut - gibt mir jedoch nichts aus - so legt er mir auch keinen Cookie an...
Wo hats da was?
Offline
#20 09. Juni 2011 12:49
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Sorry, mein Fehler ... nö, Deiner ... egal, unser beider Fehler. Ein Blick in die Modulhilfe macht Dich schlau
Richtig müsste es heißen {$cgsimple->get_parent_alias()}
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#21 09. Juni 2011 12:54
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Stimmt - ich hab das kleine Beispiel unten auch nicht gesehen - sorry...
Offline
#22 09. Juni 2011 13:04
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Passt jetzt nicht zum Thema - sollte ich aber jemals mit diesem Projekt fertig sein - wo wäre eine Unterstützung finanzieller Art angebracht? Sind Entwicklung und Support (durchs Forum) diesbezüglich getrennt oder gibt es ein gemeinsames Konto woraus beide Ihre Mittel erhalten?
Offline
#23 09. Juni 2011 13:24
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Zumindest dieses Forum und Entwicklung laufen (leider) getrennt.
Eine Spende für den Server des .de-Forums ist immer gerne gesehen: http://www.cmsmadesimple.de/forum/viewt … 3638#p3638
Eine Spende für CMSms an sich, kannst Du auf der Seite cmsmadesimple.org abgeben: http://www.cmsmadesimple.org/about-link/donations/
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#24 09. Juni 2011 19:17
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 803
- Webseite
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Meine Bilder (rechts groß) werden ja mit dem Gallery-Modul dargestellt. Woher kommt es, dass bei einigen Projekten Bilder fehlen? Mir ist aufgefallen, dass es meistens wenn sie fehlen, das eines da ist, das nächste fehlt, wieder eines da ist und wieder eines fehlt - praktisch jedes zweite - Was läuft da falsch?
Offline
#25 09. Juni 2011 19:37
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Scrolling - Position in Cookie gespeichert
Schau mal in den HTML Quelltext. Die Bilder sind da. Sie sind nur nach unten verschoben und somit außerhalb des Sichtbereichs. Der Übeltäter steckt im CSS bzw. im Template. Über jedem Bild ist ein leeres <span> Element mit folgender Formatierung:
.wraptocenter span {
display: inline-block;
height: 100%;
width: 1px;
}
Entweder height oder display wegnehmen.
Oder noch besser, da nicht benötigt, nimm das <span>-Element da weg.
Ist eh leer und hat keinerlei Funktion.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline