Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#26 09. Juni 2011 20:07

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Naja das Ding hab ich eingebaut wegen der vertikalen Zentrierung - das ist eingebaut für den IE...

Offline

#27 09. Juni 2011 20:23

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

So hab den <span> jetzt mal auskommentiert - dann sind die Bilder im Firefox wieder nicht in der Mitte.

Offline

#28 10. Juni 2011 06:48

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Ich habe auch schon die height herausgenommen, was auch nicht hilft - was hats da, dass er ein paar Bilder nach unten schiebt und ein paar nicht?

Offline

#29 10. Juni 2011 06:56

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Schau mal, ob es etwas bringt, wenn du deine Seite valide machst

http://validator.w3.org/check?verbose=1 … ge%3Dwomen

Offline

#30 13. Juni 2011 20:45

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Hallo!

Ich leg in meine Template ja Cookies an, die den Namen der übergeordneten Seite trägt. Und zwar mit folgenden Befehl:

Jetzt hab ich ein Problem bei der Sache festgetellt - wenn ich das erste Mal auf den Menüpunkt klicke wird die Position des Scrollers nicht gespeichert, da der Cookie ja keinen Namen trägt, da die Seite auf die man klickt ja praktisch die übergeordnete Seite ist.
Ich müsste jetzt abfragen, falls der obige Befehl nichts zurückgibt, das der Seitennamen zurückgegeben wird, ansonsten hat er eh den Namen der übergeordneten Seite? Wie baue ich den Befehl dementsprechend um?

Vielen Dank!

Beitrag geändert von brandy (13. Juni 2011 20:45)

Offline

#31 14. Juni 2011 22:10

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Das Alias der übergeordneten Seite zunächst einer Variablen zuweisen.
Dann prüfen, ob die Variable einen Wert hat.
Wenn ja, ausgeben.
Wenn nicht aktuelles Alias verwenden.
Bsp.:

{$cgsimple->get_parent_alias('','parent_alias')}
{if $parent_alias != ''}
    {$parent_alias}
{else}
    {$page_alias}
{/if}

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

#32 14. Juni 2011 06:39

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Ja genau, so hab ich mir das vorgestellt, aber die Funktion kennt er jetzt nicht, da er zum Anlegen des Cookies nur einen Namen braucht und jetzt steht da eine mehrzeilige Funktion - kann man das irgendwie auslagern, damit nur mehr ein Wert beim Anlegen des Cookies benötigt wird.

Ich mein so in etwa

{function name=blabla}
{$cgsimple->get_parent_alias('','parent_alias')}
{if $parent_alias != ''}
    {$parent_alias}
{else}
    {$page_alias}
{/if}
{/function}


und dann im Code ruf ich die Funktion einfach auf:
{function name=blabla}

Beitrag geändert von brandy (14. Juni 2011 08:11)

Offline

#33 14. Juni 2011 08:44

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

{$cgsimple->get_parent_alias('','parent_alias')}
{if $parent_alias == ''}
    {assign var="parent_alias" value=$page_alias}
{/if}


...


{$parent_alias}

Beitrag geändert von NaN (14. Juni 2011 11:12)


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

#34 14. Juni 2011 09:43

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Wo genau bau ich den oberen Teil deines Codes ein?

Habs momentan im Head der folgendermaßen aussieht:

<head>
<title>{sitename} - {title}</title>
{metadata}
{cms_stylesheet}
{literal}<style type="text/css">
div#wn    { 
    position:relative; 
    width:150px; height:505px; 
    overflow:hidden;    
    z-index: 1;
    border: 1px solid red;
    margin-bottom: 4px;
    }
</style>
{/literal}
<script type="text/javascript" src="lib/jcarousel/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="lib/jcarousel/jquery.jcarousel.min.js"></script>
<script src="lib/scroll/dw_event.js" type="text/javascript"></script>
<script src="lib/scroll/dw_scroll.js" type="text/javascript"></script>
<script src="lib/scroll/scroll_controls.js" type="text/javascript"></script>
<script src="lib/dw_cookies.js" type="text/javascript"></script>
<script src="lib/scroll/dw_scrollbar.js" type="text/javascript"></script> 

[b][color=red]{$cgsimple->get_parent_alias('','parent_alias')}
{if $parent_alias == ''}
    {assign var="parent_alias" value=$page_alias}
{if}[/color][/b]

{literal}
<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, '[b][color=red]{/literal}{$parent_alias}{literal}[/color][/b]');
} 

// 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>
{/literal}


</head>

Hab schon mal ausserhalb eines literal probiert es einzubauen, dann bekomm ich es aber ganz normal ausgegeben und so wie es jetzt ist funktioniert der Scroll nicht.
Wo genau gehört es hin? Vielen Dank!

Offline

#35 14. Juni 2011 09:45

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Schau dir cgsimplesmarty noch mal genauer an ... da sind zwei Funktionen getcookie und setcookie dabei, die dir möglicherweise weiterhelfen.

Offline

#36 14. Juni 2011 09:51

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Hab gerade in der Modulhilfe nachgesehen, da steht nichts von beiden.

Offline

#37 14. 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

Sorry mein Fehler.
Da fehlt ein Schrägstrich.
Die if-Bedingung muss mit {/if} beendet werden.
Hab' den Post korrigiert.

(Du hättest den ersten Code übrigens auch einfach in eine Zeile schreiben können wink )


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

#38 14. Juni 2011 10:42

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

Naja das hätte ich auch sehen müssen...
Danke!

Offline

#39 15. Juni 2011 15:48

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Scrolling - Position in Cookie gespeichert

    // args: reference to scroll area (wndo), name for cookie
    dw_scrollObj.restoreCookieVals(wndo, '{/literal}{$cgsimple->get_parent_alias('','parent_alias')}{if $parent_alias != ''}{$parent_alias}{else}{$page_alias}{/if}{literal}');
} 

MIt dem obigen Code wird eben das Cookie angelegt, das gleich hast wie die übergeordnete Seite derer auf der man sich befindet.
Problem nun: Wenn man zB unter Frauen reingeht und runterscrollt wird die Position im Cookie women gespeichert. Geht man nun auf eine andere Seite und dann wieder zurück zu women wird die Position ausgelesen und der Scroller hüpft auf die entsprechende Position zurück, der Scroller sollte aber wieder oben stehen. Das heißt, der Cookie gehört gelöscht nachdem man eine andere Seite aufruft. Wie löscht man einen solchen? Ich müsste wieder die übergeordnete Seite abfragen und wenn es eine Änderung gibt sollte eben diese Seite bzw. der entsprechende Cookie gelöscht werden oder?

Vielen Dank!

Offline