Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: Lightbox öffnen, wenn bestimmter newsbeitrag publiziert ist

  1. #1
    Contao-Nutzer Avatar von n00b
    Registriert seit
    04.12.2010.
    Ort
    Schweiz, Aargau
    Beiträge
    122

    Standard Lightbox öffnen, wenn bestimmter newsbeitrag publiziert ist

    Hallo Community

    Ich habe eine spezielle Aufgabe:

    Ich muss auf einer Hotelseite ein Popup realisieren, das automatisch geöffnet wird, wenn ein bestimmter Newsbeitrag publiziert wird (Ferienmeldung).

    grundsätzlicher Approach ist der: https://community.contao.org/de/show...-%29-einbinden

    Allerdings müsste ich das jetzt in fe_page einbinden mit einer abfrage, ob der betreffende Newsbeitrag publiziert ist, oder?

    Im Sinne von:
    Code:
    If newsbeitrag 99=public
    
    Mediabox.open('#mb_popup', '', '300 262');return false;
    
    endif
    Als Php-Noob habe ich da Probleme, kann mir jemand helfen? Kann ich überhaupt per Php prüfen, ob ein einzelner newsbeitrag public ist?
    ...damn kid, theyre all alike...Zitat aus Legendärem Text: Link

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Zitat Zitat von n00b Beitrag anzeigen
    Als Php-Noob habe ich da Probleme, kann mir jemand helfen? Kann ich überhaupt per Php prüfen, ob ein einzelner newsbeitrag public ist?
    Ja, und du musst das nicht im fe_page Template machen, sondern evt. am besten direkt im moo_mediabox Template. zB:
    PHP-Code:
    <?php

    // Add the mediabox style sheet
    $GLOBALS['TL_CSS'][] = 'assets/mootools/mediabox/'$GLOBALS['TL_ASSETS']['MEDIABOX'] .'/css/mediaboxAdvBlack21.css|static';

    ?>

    <script src="<?= TL_ASSETS_URL ?>assets/mootools/mediabox/<?= $GLOBALS['TL_ASSETS']['MEDIABOX'?>/js/mediabox.js"></script>
    <script>
      (function($) {
        window.addEvent('domready', function() {
          $$('a[data-lightbox]').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');
          });

    <?php
    if (($objNews = \NewsModel::findById(9999)) !== null):
      if (
    $objNews->published): ?>
        Mediabox.open('#mb_popup', '', '300 262');
      <?php endif; ?>
    <?php 
    endif; ?>

        });
      })(document.id);
    </script>

  3. #3
    Contao-Nutzer Avatar von n00b
    Registriert seit
    04.12.2010.
    Ort
    Schweiz, Aargau
    Beiträge
    122

    Standard bekomme es nicht zum laufen...

    Danke vielmals für Deine Hilfe, aber ich glaube, da meine Contao-Installation nicht auf aktuellem Stand ist, gibts da differenzen in den Templates:
    Code:
    <?php
    
    // Add mediabox style sheet
    $GLOBALS['TL_CSS'][] = 'plugins/mediabox/'. MEDIABOX .'/css/mediaboxAdvWhite21.css||static';
    
    ?>
    
    <script src="<?php echo TL_PLUGINS_URL; ?>plugins/mediabox/<?php echo MEDIABOX; ?>/js/mediabox.js"></script>
    <script>
    Mediabox.scanPage = function() {
      var links = $$('a').filter(function(el) {
        return el.getAttribute('data-lightbox') != null;
      });
      $$(links).mediabox({
          // Put custom options here
          counterText: '<br />(Bild {x} von {y})'
        }, function(el) {
    	return [el.href, el.title, el.getAttribute('data-lightbox')];
      }, function(el) {
        var data = this.getAttribute('data-lightbox').split(' ');
        return (this == el) || el.getAttribute('data-lightbox').match(data[0]);
      });
    
    
    };
    window.addEvent('domready', Mediabox.scanPage);
    </script>
    WO muss das php-Schnipsel da hin, damits funktioniert?
    ...damn kid, theyre all alike...Zitat aus Legendärem Text: Link

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Vor dem letzten '};' sollte reichen.

  5. #5
    Contao-Nutzer Avatar von n00b
    Registriert seit
    04.12.2010.
    Ort
    Schweiz, Aargau
    Beiträge
    122

    Standard Geht leider nicht

    Danke für Deine Hilfe

    Wenn ich da irgendein php-Schnipsel einfüge funktioniert die Lightbox nimmer...Wenn ich Deinen Schnipsel einfüge gibts leider eine weisse Seite
    ...damn kid, theyre all alike...Zitat aus Legendärem Text: Link

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Mein Code ist halt ungetestet. Sieh' im error log nach was der Fehler ist.

  7. #7
    Contao-Nutzer Avatar von n00b
    Registriert seit
    04.12.2010.
    Ort
    Schweiz, Aargau
    Beiträge
    122

    Daumen hoch nix im log

    Im Log steht leider nix, trotz weisser seite. Muss es mal genauer testen, da die Site produktiv online ist kann ich das nicht übern tag machen, muss warten bis alle schlafen ;-)

    Danke tausend trotzdem für die Hilfe!
    ...damn kid, theyre all alike...Zitat aus Legendärem Text: Link

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Ah, ist das eine Contao 2.x Installation? Da kann ich leider nicht so viel helfen. Es könnte sein dass der Code dort einfach gar nicht funktioniert.

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
  •