Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: FE Editor in Lightbox

  1. #1
    Contao-Fan
    Registriert seit
    28.06.2009.
    Ort
    Steffisburg
    Beiträge
    473

    Frage FE Editor in Lightbox

    Hallo zusammen

    Ich öffne den FE Editor in einer Lightbox, dass funkt. wunderbar! Jetzt möchte ich aber gerne, dass es beim Speichern der Daten, die Lightbox schliesst und die Seite refresht.

    Wie ich die Lightbox nach der Speicherung schliesse, habe ich hinbekommen.

    Die Seite die sich refreshen sollte, ist eine Ünersicht als Katalog-Liste.

    Besten Dank für die Hilfe

    Gruss
    Steven

  2. #2
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Hallo habe hier etwas gefunden vielleicht hilft dir das

    http://www.contao-community.de/showt...r-in-lightbox&

    parent.window.location.reload();

    oder

    parent.window.location.href=parent.window.location .href;
    lg Matthias
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  3. #3
    Contao-Fan
    Registriert seit
    28.06.2009.
    Ort
    Steffisburg
    Beiträge
    473

    Gesicht zeigt die Zunge

    Hallo Matthias

    Besten Dank für die Info. Habe ich auch schon gefunden und probiert, leider habe ich es so nicht lösen können.

  4. #4
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Kann mann das online ansehen, an dem du gerade arbeitest?
    Wenn du beim Lightbox closen den Refresh-Befehl dazu packst geht es nicht?

    lg Matthias
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  5. #5
    Contao-Fan
    Registriert seit
    28.06.2009.
    Ort
    Steffisburg
    Beiträge
    473

    Standard

    Ist leider nur Lokal.

    Ich habs so eingebunden.
    HTML-Code:
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
          window.addEvent('domready',function(){
                      parent.Mediabox.close();
                      parent.window.location.reload();
          });
    //--><!]]>
    </script>
    Also, ich klicke auf Edit -> Editor geht in Lightbox auf -> klicke auf Speicher Schliessen -> Weiterleitung zur Seite mit dem Javascript -> Lightbox schliesst -> bin wieder bei der Liste und muss manuell Aktualisieren.

  6. #6
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Hast du dir schon mal die Erweiterung fastedit angeschaut?
    Die macht das

    Installieren und dann bei deinem Benutzer aktivieren, dann kannst du in der Frontendvorschau, dir das anschauen vielleicht steht was hilfreiches bei Ihm im Code.

    Liebe Grüße
    Matthias

    ps: contentWindow.document.location.href){document.loc ation.reload()

    Hier der Javascirpt :

    Code:
    var Fasteditbox;(function(){var y,f,M,F,L,l,D,j,k,i,H,w,r,x=new Image(),R=new Image(),p=false,u=false,P,b,h,c,Q,C,J,S,B,N,E,v,z,m,g="none",e,d="fasteditBox",A;window.addEvent("domready",function(){$(document.body).adopt($$([P=new Element("div",{id:"feOverlay"}).addEvent("click",K),b=new Element("div",{id:"feCenter"})]).setStyle("display","none"));h=new Element("div",{id:"feImage"}).injectInside(b);c=new Element("div",{id:"feBottom"}).injectInside(b).adopt(new Element("a",{id:"feCloseLink",href:"#"}).addEvent("click",K),C=new Element("div",{id:"feTitle"}),S=new Element("div",{id:"feNumber"}),J=new Element("div",{id:"feCaption"}));w={overlay:new Fx.Tween(P,{property:"opacity",duration:360}).set(0),image:new Fx.Tween(h,{property:"opacity",duration:360,onComplete:G}),bottom:new Fx.Tween(c,{property:"opacity",duration:240}).set(0)}});Fasteditbox={close:function(){K()},open:function(V,U,T){y=$extend({loop:false,stopKey:true,overlayOpacity:0.7,resizeOpening:false,resizeDuration:240,resizeTransition:false,initialWidth:320,initialHeight:180,defaultWidth:750,defaultHeight:600,showCaption:false,showCounter:false,counterText:"({x} of {y})"},T||{});if((Browser.Engine.gecko)&&(Browser.Engine.version<19)){p=true;y.overlayOpacity=1;P.className="feOverlayFF"}if(typeof V=="string"){V=[[V,U,T]];U=0}f=V;y.loop=y.loop&&(f.length>1);if((Browser.Engine.trident)&&(Browser.Engine.version<5)){u=true;P.className="feOverlayIE";P.setStyle("position","absolute");I()}o();q(true);l=window.getScrollTop()+(window.getHeight()/2);j=window.getScrollLeft()+(window.getWidth()/2);w.resize=new Fx.Morph(b,$extend({duration:y.resizeDuration,onComplete:O},y.resizeTransition?{transition:y.resizeTransition}:{}));b.setStyles({top:l,left:j,width:y.initialWidth,height:y.initialHeight,marginTop:-(y.initialHeight/2),marginLeft:-(y.initialWidth/2),display:""});w.overlay.start(y.overlayOpacity);return a(U)}};Element.implement({fasteditbox:function(T,U){$$(this).fasteditbox(T,U);return this}});Elements.implement({fasteditbox:function(T,W,V){W=W||function(X){v=X.rel.split(/[\[\]]/);v=v[1];return[X.href,X.title,v]};V=V||function(){return true};var U=this;U.removeEvents("click").addEvent("click",function(){var Y=U.filter(V,this);var Z=[];var X=[];Y.each(function(ab,aa){if(X.indexOf(ab.toString())<0){Z.include(Y[aa]);X.include(Y[aa].toString())}});return Fasteditbox.open(Z.map(W),X.indexOf(this.toString()),T)});return U}});function I(){P.setStyles({top:window.getScrollTop(),left:window.getScrollLeft()})}function o(){i=window.getWidth();H=window.getHeight();P.setStyles({width:i,height:H})}function q(T){["object",window.ie?"select":"embed"].forEach(function(V){Array.forEach(document.getElementsByTagName(V),function(W){if(T){W._fasteditbox=W.style.visibility}W.style.visibility=T?"hidden":W._fasteditbox})});P.style.display=T?"":"none";var U=T?"addEvent":"removeEvent";if(u){window[U]("scroll",I)}window[U]("resize",o);document[U]("keydown",s)}function s(T){switch(T.code){case 27:case 88:case 67:K();break;case 37:case 80:previous();break;case 39:case 78:next()}if(y.stopKey){return false}}function a(T){if(T>=0){h.set("html","");M=T;F=((M||!y.loop)?M:f.length)-1;L=M+1;if(L==f.length){L=y.loop?0:-1}t();b.className="feLoading";if(!f[T][2]){f[T][2]=""}N=f[T][2].split(" ");E=N.length;if(E>1){z=(N[E-2].match("%"))?(window.getWidth()*((N[E-2].replace("%",""))*0.01))+"px":N[E-2]+"px";m=(N[E-1].match("%"))?(window.getHeight()*((N[E-1].replace("%",""))*0.01))+"px":N[E-1]+"px"}else{z="";m=""}B=f[T][0];Q=f[M][1].split("::");g="url";z=z||y.defaultWidth;m=m||y.defaultHeight;d="mediaId_"+new Date().getTime();r=new Element("iframe",{src:B,id:d,width:z,height:m,frameborder:0,events:{load:function(){$(r.contentWindow.document.body).addClass("fastedit");if(r.get("src")!=r.contentWindow.document.location.href){document.location.reload()}}}});n()}return false}function n(){h.setStyles({backgroundImage:"none",display:""});r.inject(h);h.setStyles({width:z,height:m});C.set("html",(y.showCaption)?Q[0]:"");J.set("html",(y.showCaption&&(Q.length>1))?Q[1]:"");S.set("html",(y.showCounter&&(f.length>1))?y.counterText.replace(/{x}/,M+1).replace(/{y}/,f.length):"");if((F>=0)&&(f[F][0].match(/\.gif|\.jpg|\.png|twitpic\.com/i))){x.src=f[F][0].replace(/twitpic\.com/i,"twitpic.com/show/full")}if((L>=0)&&(f[L][0].match(/\.gif|\.jpg|\.png|twitpic\.com/i))){R.src=f[L][0].replace(/twitpic\.com/i,"twitpic.com/show/full")}z=h.offsetWidth;m=h.offsetHeight+c.offsetHeight;if(m>=l+l-10){D=-(l-10)}else{D=-(m/2)}if(z>=j+j-10){k=-(j-10)}else{k=-(z/2)}if(y.resizeOpening){w.resize.start({width:z,height:m,marginTop:D,marginLeft:k})}else{b.setStyles({width:z,height:m,marginTop:D,marginLeft:k});O()}}function O(){w.image.start(1)}function G(){b.className="";w.bottom.start(1)}function t(){if(r){r.onload=$empty}w.resize.cancel();w.image.cancel().set(0);w.bottom.cancel().set(0)}function K(){if(M>=0){window.location.reload()}return false}})();Fasteditbox.scanPage=function(){var a=$$("a").filter(function(b){return b.rel&&b.rel.test(/^fastedit/i)});$$(a).fasteditbox({},null,function(c){var b=this.rel.replace(/[[]|]/gi," ");var d=b.split(" ");return(this==c)||((this.rel.length>8)&&c.rel.match(d[1]))})};window.addEvent("domready",Fasteditbox.scanPage);
    Geändert von Messa (13.07.2011 um 12:10 Uhr)
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  7. #7
    Contao-Fan
    Registriert seit
    28.06.2009.
    Ort
    Steffisburg
    Beiträge
    473

    Standard

    Hallo Matthias

    Besten Dank für den Tipp! Aber wie kann ich das mit meiner Lightbox verbinden?

    Gruss
    Steven

  8. #8
    Alter Contao-Hase Avatar von Messa
    Registriert seit
    19.01.2011.
    Ort
    Vorarlberg, Österreich
    Beiträge
    1.423

    Standard

    Bei der Erweitrung fastedit öffnet sich auch eine Lightbox.
    Und wenn du den Javascript anschaust findest du sicher ein lösung.
    Denn dort ist es so wenn man speichert schließt sich die Lightbox und
    das Fenster wird neu geladen.

    lg Matthias
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

  9. #9
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard

    Hallo zusammen,

    ich suche auf contao 2.11.12 die Möglichkeit, die parent-site beim Schließen der Lightbox neu zu laden.

    ich krieg das nicht hin:

    wo muss ich was einbauen?

    Über Hilfe wäre ich Dankbar.

  10. #10
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard

    Gut, wenn es jemanden interessiert:
    Code:
    <script type="text/javascript">
    window.addEvent('domready', function() {
        $each($$('#mbCloseLink'),function(el) {
            el.addEvent('click',function(close) {
                parent.window.location.reload();
    
            });
        });
    });
    </script>
    Das unter "eigener Javascript-Code" im Seitenlayout einbinden und dann klappt's

  11. #11
    Contao-Fan
    Registriert seit
    27.11.2009.
    Beiträge
    326

    Standard

    Besten Dank für die fertige Lösung, hatte mir bereits den Kopf zerbrochen!
    Da die Mediabox aber auch durch Klick auf das Overlay geschlossen werden kann, hier noch eine kleine Ergänzung:
    Code:
    <script type="text/javascript">
    window.addEvent('domready', function() {
        $each($$('#mbCloseLink, #mbOverlay'),function(el) {
            el.addEvent('click',function(close) {
                parent.window.location.reload();
    
            });
        });
    });
    </script>
    Bei mir funktionierts.

    Beste Grüße!

  12. #12
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard Mediabox Refresh beim schließen für Contao 3.4.x

    neues Template - z.B. moo_mediabox_refresh:
    Code:
    <?php
    
    // Add the mediabox style sheet
    $GLOBALS['TL_CSS'][] = 'assets/mootools/mediabox/'. $GLOBALS['TL_ASSETS']['MEDIABOX'] .'/css/mediaboxAdvBlack21.css|static';
    
    ?>
    
    <script src="<?php echo TL_ASSETS_URL; ?>assets/mootools/mediabox/<?php echo $GLOBALS['TL_ASSETS']['MEDIABOX']; ?>/js/mediabox.js"></script>
    <script>
      (function($) {
        window.addEvent('domready', function() {
          var links = $$('a').filter(function(el) {
            return el.getAttribute('data-lightbox') != null;
          });
    
        var close = $$('#mbCloseLink').filter(function(el) {
                  el.addEvent('click',function(close) {
            parent.window.location.reload();
            });
        });    
          $$(links).mediabox({
            // Put custom options here
          }, function(el) {
              return [el.href, el.title, el.getAttribute('data-lightbox')];
          }, function(el) {
            var data = this.getAttribute('data-lightbox').split(' ');
            return (this == el) || (data[0] && el.getAttribute('data-lightbox').match(data[0]));
          });
          $('mbImage').addEvent('swipe', function(e) {
            (e.direction == 'left') ? $('mbNextLink').fireEvent('click') : $('mbPrevLink').fireEvent('click');
          });
        });
    
      })(document.id);
    </script>
    mfg Hauge

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •