pmkshadowbox Typo3 4.3

Kaum ist wie unten beschrieben eine neue Typo3-Version da gibt es auch schon ein paar Probleme…

Jeder der die tolle pmkshadowbox (link) nutzt wird beim neuen Typo3 4.3.x ein wenig erstaunt sein…
denn es läuft nicht mehr richtig.

Wieso?
>> in TYPO3 wurde etwas umbenannt und daher griff eine Bedingung im TypoScript nicht mehr richtig. Aus page.inlineJS ist page.jsInline geworden.

Hilfe?
Ja durch eine Modifikation im TypoScript ist es möglich den kleinen Bug zu beheben.
Siehe unten dazu 🙂

Bitte dies Script als erweiterungs Template eintragen. Unter Setup

TypoCode für Version 4.3.x

# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# pmkShadowbox Typo3 4.3.x
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# adding the initialisation code as inlineJS
# the option was introduced in 4.2.0
[compatVersion = 4.3.0]
page.jsInline.1230 < temp.shadowBoxInit
&#91;else&#93;
page.headerData.1230.10 < temp.shadowBoxInit
page.headerData.1230.10.wrap2 (
  <script type="text/javascript">
   /*<!&#91;CDATA&#91;*/
   <!--
   |
   // -->
   /*&#93;&#93;>*/
  </script>
)
[end]

 

 

Kompletter Code

# Generate inline initialisation code
temp.shadowBoxInit = TEXT
temp.shadowBoxInit {
   # check if the setup code should be skipped
  if.isFalse = {$plugin.pmkshadowbox.skipSetup}
   
   # image map initialisation
  value (
      });
      var shadowBoxElements = document.getElementsByTagName('area');
      if (shadowBoxElements.length) {
       Shadowbox.setup(shadowBoxElements, {{$plugin.pmkshadowbox.imageMapOptions}});
      }
  )
   
   # no value if the imagemap setup stuff should be skipped
  override = });
  override.if.isTrue = {$plugin.pmkshadowbox.skipImageMapSetup}
   
   # add shadowbox main initialisation
  wrap (
     if (0) {} // js minifcation workaround (jsmin)
     function shadowBoxInit() {
      Shadowbox.init({
       |
     }
   
     if (window.addEventListener) {
      window.addEventListener('load', shadowBoxInit, false);
     } else if (window.attachEvent) {
      window.attachEvent('onload', shadowBoxInit);
     }
  )
   
  stdWrap.dataWrap (
    animate: {$plugin.pmkshadowbox.animate},
    animateFade: {$plugin.pmkshadowbox.animateFade},
    modal: {$plugin.pmkshadowbox.modal},
    autoplayMovies: {$plugin.pmkshadowbox.autoplayMovies},
    showMovieControls: {$plugin.pmkshadowbox.showMovieControls},
    displayNav: {$plugin.pmkshadowbox.displayNav},
    continuous: {$plugin.pmkshadowbox.continuous},
    displayCounter: {$plugin.pmkshadowbox.displayCounter},
    enableKeys: {$plugin.pmkshadowbox.enableKeys},
    initialWidth: {$plugin.pmkshadowbox.initialWidth},
    initialHeight: {$plugin.pmkshadowbox.initialHeight},
    counterLimit: {$plugin.pmkshadowbox.counterLimit},
    viewportPadding: {$plugin.pmkshadowbox.viewportPadding},
    resizeDuration: {$plugin.pmkshadowbox.resizeDuration},
    fadeDuration: {$plugin.pmkshadowbox.fadeDuration},
    slideshowDelay: {$plugin.pmkshadowbox.slideshowDelay},
    overlayOpacity: {$plugin.pmkshadowbox.overlayOpacity},
    animSequence: '{$plugin.pmkshadowbox.animSequence}',
    counterType: '{$plugin.pmkshadowbox.counterType}',
    handleOversize: '{$plugin.pmkshadowbox.handleOversize}',
    handleUnsupported: '{$plugin.pmkshadowbox.handleUnsupported}',
    handleException: {$plugin.pmkshadowbox.handleException},
    onOpen: {$plugin.pmkshadowbox.onOpen},
    onFinish: {$plugin.pmkshadowbox.onFinish},
    onChange: {$plugin.pmkshadowbox.onChange},
    onClose: {$plugin.pmkshadowbox.onClose},
    overlayColor: '{$plugin.pmkshadowbox.overlayColor}',
    flashBgColor: '{$plugin.pmkshadowbox.flashBgColor}',
    flvPlayer: '{path:{$plugin.pmkshadowbox.flvPlayer}}',
    iframeScrolling: '{$plugin.pmkshadowbox.iframeScrolling}'
  )
}

# adding the initialisation code as inlineJS
# the option was introduced in 4.2.0
[compatVersion = 4.3.0]
page.jsInline.1230 < temp.shadowBoxInit
&#91;else&#93;
page.headerData.1230.10 < temp.shadowBoxInit
page.headerData.1230.10.wrap2 (
  <script type="text/javascript">
   /*<!&#91;CDATA&#91;*/
   <!--
   |
   // -->
   /*&#93;&#93;>*/
  </script>
)
[end]
Marc Finnern: Marc Finnern ist ein FullStack-Developer. Sein Fachgebiet ist TYPO3, WordPress und InterRed. Ob Plugin, Backend oder Frontend-Arbeiten anfallen, alles ist möglich und machbar, man braucht nur die passende Idee.

View Comments (6)

  • Hallo

    darf ich bitte mal fragen wie ich das script einbinde?

    einfach ins setup oder constant einzupasten tut es für mich nicht. ich habe immer noch das javascript garabage auf mein frontpage und kein shadowbox.

    vielen dank

    holby

  • Hallo Holby,
    klar kannst du das fragen. Frage ist nur welche Version hast du von der Shadowbox?
    Und hast du die Shadowbox auch schon auf der ersten Seite ins Haupttemplate eingebunden?
    > Kompletter Templaterecord
    > Statische Templates einschließen (aus Erweiterungen)

    Alternativ, schreib mir ne Mail :)
    Marc

  • Hallo Marc,

    habe das gleiche Problem, dass click-enlarge nicht funktioniert. Ich versuche nun vergebens den Code einzufügen, weiß aber nicht wo. Ich verwende TemplaVoila - könntest du mir bitte den genauen Pfad angeben? Dankeschön!

    Liebe Grüße aus Österreich

    drink

  • Hallo Drink,
    eigentlich muss du den Code nicht mehr einbauen, wenn du nicht Typo3 4.3 mit der alten PMKShadowbox verwendet. Eigentlich nur installieren und dann ist das schon beim verwenden [x] Klick vergrößern erledigt. Schreib mir auch gerne ne Mail an info@marc-finnern.de dann kann ich dir vielleicht direkt an deinem Projekt helfen!

    Grüße
    Marc

  • Hello there, I discovered your blog by means of Google even as searching for a related matter, your site came up, it appears great. I have bookmarked it in my google bookmarks.

This website uses cookies.