[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
TVS BLOG unterschiedliche Klassen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Southtown_m
Beiträge: 95
Registriert: 23. Feb 2009, 14:32

TVS BLOG unterschiedliche Klassen

20. Okt 2015, 21:48

Hallo zusammen,
ich nin gerade an der Ausgabe dran und habe wie folgt ein Problem.

Beispiel bei der Übersicht der Blogeinträge einer Titelausgabe:

if ($sql->getValue('title') != "") {
echo "<div class=\"title\"......

Nun möchte ich wenn man auf "weiterlesen" geht um den gesamten Beitrag zu lesen dafür eine andere Klasse definieren.

Ist dies möglich? Steh irgendwie aufm Schlauch.

Danke

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: TVS BLOG unterschiedliche Klassen

20. Okt 2015, 21:55

Hi,

im Div die Klasse einfach umändern/umbennen?

Southtown_m
Beiträge: 95
Registriert: 23. Feb 2009, 14:32

Re: TVS BLOG unterschiedliche Klassen

20. Okt 2015, 22:13

Hi RexDude,

schon aber wie?

Es ist ja in der Blogausgabe schon definiert. Dies gilt ja sowohl für die Übersichtsseite als auch die "Postseite/Detailseite".
Wie wo und was muss ich einfügen das er für die Übersichtsseite die Klasse xy und für die "Detailseite" yz verwendet. :?

Hoffe ihr wisst was ich meine :mrgreen:

Danke

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: TVS BLOG unterschiedliche Klassen

20. Okt 2015, 22:26

Tjoaaa....ein bisschen Programmierkenntnisse wären halt net schlecht für so ein Vorhaben ;)
Vielleicht hast du ja Glück und irgend jemand hier serviert dir die Lösung auf dem Serviertablett :D

Southtown_m
Beiträge: 95
Registriert: 23. Feb 2009, 14:32

Re: TVS BLOG unterschiedliche Klassen

20. Okt 2015, 23:08

Ok hat sich erledigt,

hab es gelöst. Vielleicht nicht die eleganteste Lösung aber es funzt wie ichs möchte :mrgreen:

Wollte ja auch nicht das mir jmd die Lösung auf dem Serviertablett serviert :mrgreen:

Bin vorhin nur irgendwie an der If Abfrage hänge geblieben. Passiert.

Trotzdem merciiii moool

Servus

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: TVS BLOG unterschiedliche Klassen

20. Okt 2015, 23:31

Na siehst du....geht doch :mrgreen:

Benutzeravatar
CWS
Beiträge: 68
Registriert: 15. Jun 2014, 12:09
Kontaktdaten: Website

Re: TVS BLOG unterschiedliche Klassen

21. Okt 2015, 11:46

Hey Leute,

Wäre tolle eine Detailseite, sowie Übersichtsseite in verschiedenen Layouts...

Dürfte ich mir das zusammen geschnitzte Ausgabemodul mal ansehen????

Lg Christian :-)

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: TVS BLOG unterschiedliche Klassen

21. Okt 2015, 12:48

Hoi Buben,

bin dran, hab nun 2 Klassen für Detail und Übersicht, auch was Bilder angeht...Langsam aber sicher gehts vorwärts ;-)

Gruß, Michael :)

Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

Re: TVS BLOG unterschiedliche Klassen

21. Okt 2015, 18:05

Das hab ich hier mal - getrennt in _entry und _teaser und alles auf Bootstrap - aufgebaut, nachdem ihr mir letztens so nett geholfen habt :)

Habe allerdings auch das Teaserbild (für mich) angepasst. Wollte es auch noch so aufbohren, dass das erste Bild sowohl Teaser als auch Slider ist und der Rest dann Galerie (oder so irgendwie :D )

Ich hoffe damit ist was anzufangen.
Gruß Tim

Modul-Eingabe

Code: Alles auswählen

<?php
  $table_pre = $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid']['tvsblog'];
  $art_table = $table_pre . "_articles";
  $cat_table = $table_pre . "_categories";

  $tvsblog_entries = "";

  echo "<h1>TVSBlog</h1><br />";

  if ("REX_VALUE[1]" == "")
    $tvsblog_entries = 5;
  else
    $tvsblog_entries = "REX_VALUE[1]";
?>

<div style="width: 100%;">
  <div style="width:200px; float:left;">
    Anzahl Blogeinträge pro Seite:
  </div>
  <div style="width:200px; float:left;">
    <input name="VALUE[1]" type="text" size="5" value="<?php echo $tvsblog_entries; ?>" />
  </div>
  <div style="clear:both;"></div>

  <div style="width:200px; float:left;">
    Nur aus folgender Kategorie:
  </div>
  <div style="width:200px; float:left;">
    <select name="VALUE[2]" class="rex-form-select">
      <option value=""></option>
      <?php
        $cat_sql = new rex_sql();
        $cat_sql->setQuery("SELECT * FROM " . $cat_table);

        if ($cat_sql->getRows() > 0 )
        {
          for ($i = 1; $i <= $cat_sql->getRows(); $i++)
          {
            if ("REX_VALUE[2]" == $cat_sql->getValue('id'))
              $selected = "selected";
            else
              $selected = "";
            echo '<option value="' . $cat_sql->getValue('id') . '" ' . $selected . '>' . htmlspecialchars($cat_sql->getValue('title')) . '</option>';
            $cat_sql->next();
          }
        }
      ?>
    </select>
  </div>
  <div style="clear:both;"></div>

  <div style="width:200px; float:left;">
    Beiträge "anteasern":<br />(Anzahl Zeichen)
  </div>
  <div style="width:200px; float:left;">
    <input name="VALUE[3]" type="text" size="5" value="REX_VALUE[id="3" ifempty="0"]" /> (0 = Keine Kürzung!)
  </div>
  <div style="clear:both;"></div>

</div>
Modul-Ausgabe

Code: Alles auswählen

<?php
  //Variablen
  $rex_mobile = $REX['MOBILE'];
  if($REX['REDAXO']) $rex_mobile = 'redaxo';
  $imageManagerType = 'rex_thumbs_';
  $imageType = $imageManagerType . $rex_mobile;

  if($REX['REDAXO'] != 1) {
    require_once ($REX['INCLUDE_PATH'] .'/addons/tvsblog/classes/urlRewrite.inc.php');

    $table_pre  = $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid']['tvsblog'];
    $thispage  = 'tvsblog';
    $art_table  = $table_pre . '_articles';
    $cat_table  = $table_pre . '_categories';

    $tvsblog_post_id = rex_get('post_id', 'int', -1);

    $tvsblog_tag = rex_get('tag', 'string', '');
    $tvsblog_teaser = "REX_VALUE[3]";

    $tvsblog_start = rex_get('tvsblog_start', 'int', -1);
    if ($tvsblog_start != -1) {
      $tvsblog_limit = "REX_VALUE[1]";
    }
    else
      if ("REX_VALUE[1]" == '') {
        $tvsblog_start = 0;
        $tvsblog_limit = 5;
      }
      else {
        $tvsblog_start = 0;
        $tvsblog_limit = "REX_VALUE[1]";
      }

    $myIniFile = $REX['INCLUDE_PATH'] . '/addons/' . $thispage . '/' . $thispage . '.ini';
    $settings = parse_ini_file($myIniFile);

    $sql_limit = ' LIMIT ' . $tvsblog_start . ', ' . $tvsblog_limit;

    $tvsblog_category = rex_get('tvsblog_category', 'int', -1);
    $tvsblog_month = rex_get('tvsblog_month', 'int', -1);
    $tvsblog_year = rex_get('tvsblog_year', 'int', -1);

    if ($tvsblog_category == -1 && "REX_VALUE[2]" != '')
      $tvsblog_category = "REX_VALUE[2]";

    if ($tvsblog_month <> -1 && $tvsblog_year <> -1) {
      $tvssql = ' AND YEAR(FROM_UNIXTIME(create_date)) = ' . $tvsblog_year . ' AND MONTH(FROM_UNIXTIME(create_date)) = ' . $tvsblog_month;
    }
    else if($tvsblog_category <> -1) {
      $tvssql = ' AND categories = ' . $tvsblog_category;

      $sql = new rex_sql();
      $sql->setQuery('SELECT * FROM ' . $cat_table . ' WHERE id = ' . $tvsblog_category);
      if ($sql->getRows() > 0 ) {
        //echo '<h1>Die neuesten Blogeinträge aus der Kategorie "' . $sql->getValue('title') . '":</h1>';
      }
    }
    else {
      $tvssql = '';
    }

    if ($tvsblog_tag != '')
      $tvssql .= " AND tags like '%" . $tvsblog_tag . "%'";

    // post_id hat Priorität...
    if ($tvsblog_post_id != -1)
      $tvssql .= ' AND id = ' . $tvsblog_post_id;

    $cat_sql = new rex_sql();
    $sql = new rex_sql();
    //$art_query = 'SELECT * FROM ' . $art_table . ' INNER JOIN ' . $cat_table . ' ON ' . $art_table . '.categories = ' . $cat_table . '.id WHERE ' . $art_table . '.status = 1 AND ' . $cat_table . '.status = 1 ' . $tvssql . ' ORDER BY ' . $art_table . '.create_date DESC, ' . $art_table . '.id DESC';
    $art_query = 'SELECT * FROM ' . $art_table . ' WHERE status = 1 ' . $tvssql . ' ORDER BY create_date DESC, id DESC';
    $sql->setQuery($art_query);
    $total_rows = $sql->getRows();

    $art_query = 'SELECT * FROM ' . $art_table . ' WHERE status = 1 ' . $tvssql . ' ORDER BY create_date DESC, id DESC';
    $sql->setQuery($art_query . ' ' . $sql_limit);

    if ($sql->getRows() > 0 )
    {
      echo '<div class="blog-content">'."\n";
      echo '  <div class="container">'."\n";
      echo '    <div class="row">'."\n";
      for ($i = 1; $i <= $sql->getRows(); $i++) {
        $art_post_id = $sql->getValue('id');
        $cat_sql->setQuery('SELECT * FROM ' . $cat_table . ' WHERE id = ' . $sql->getValue('categories'));
        if ($cat_sql->getRows() > 0 )
          $cat_name = strtolower(' tvsblog_' . $cat_sql->getValue('title'));
        else
          $cat_name = '';

        if ($cat_sql->getValue('status') == 1) {

          //
          // Ausgabe...
          //
          //echo '<div class="tvsblog_entry' . $cat_name . '">';
          //Für die Ausgabe eines einzelnen Artikels - sonst... Listenansicht
          if ($tvsblog_post_id != -1 || $tvsblog_tag != '') {
            echo '<div class="col-sm-12 tvsblog_entry' . $cat_name . '">';
              echo '  <h2 class="h2">' . $sql->getValue('title') . '</h2>';

            //Author mit Erstellungsdatum ausgeben
            if ($sql->getValue('create_user') != "") {
              echo '  <div class="tvsblog_author">';
              echo '    <p>Autor: ' . $sql->getValue('create_user') . ' am ' . date('d.m.Y', $sql->getValue('create_date')) . '</p>';
              echo '  </div>';
            }
            else
            {
              //Nur Erstellungsdatum
              echo '  <div class="tvsblog_author">';
              echo '    <p>' . date('d.m.Y', $sql->getValue('create_date')) . '</p>';
              echo '  </div>';
            }

            //
            // Slider-/ Teaserbild-Ausgabe
            //
            if ($sql->getValue('filelist') != '') {
              $filelist = $sql->getValue('filelist');
              $sliderfiles = explode(',',$filelist);
              if (count($sliderfiles) == 1) {
                $media = OOMedia::getMediaByName($sliderfiles[0]);
                $img_title = $media->getTitle();

                echo '<div class="tvsblog_teaserimage">';
                echo '  <img class="img-responsive img-circle" src="index.php?rex_img_type='.$imageType.'&rex_img_file=' . $sliderfiles[0] . '" alt="' . $img_title . '" title="' . $img_title . '" />';
                echo '</div>';
              } else {
                $media = OOMedia::getMediaByName($sliderfiles[0]);
                $img_title = $media->getTitle();

                echo '<div class="tvsblog_teaserimage">';
                echo '  <img class="img-responsive img-circle" src="index.php?rex_img_type='.$imageType.'&rex_img_file=' . $sliderfiles[0] . '" alt="' . $img_title . '" title="' . $img_title . '" />';
                echo '</div>';
  /*              echo '<div class="wmuSlider postslider' . $art_post_id . '">';
                echo '  <div class="wmuSliderWrapper">';
                foreach ($sliderfiles as $value) {
                  $media = OOMedia::getMediaByName($value);
                  $img_title = $media->getTitle();
                  echo '<article>';
                  echo '  <img src="index.php?rex_img_type=rex_tvsblog_sliderimages&rex_img_file=' . $value . '" alt="' . $img_title . '" title="' . $img_title . '" />';
                  echo '</article>';
                }
                echo '  </div>';
                echo '</div>'; */
              }
            }

            //Textausgabe
            $tvsoutput = $sql->getValue('description');
            if ($tvsblog_teaser > 0 && $tvsblog_post_id == -1) {
              if( (strlen($tvsoutput) > $tvsblog_teaser) ) {

                $whitespaceposition = strpos($tvsoutput,' ',$tvsblog_teaser)-1;

                if( $whitespaceposition > 0 )
                  $tvsoutput = substr($tvsoutput, 0, ($whitespaceposition+1));

                // close unclosed html tags
                if( preg_match_all('|<([a-zA-Z]+)>|',$tvsoutput,$aBuffer) ) {
                  if( !empty($aBuffer[1]) ) {
                    preg_match_all('|</([a-zA-Z]+)>|',$tvsoutput,$aBuffer2);
                    if( count($aBuffer[1]) != count($aBuffer2[1]) ) {
                      foreach( $aBuffer[1] as $index => $tag ) {
                        if( empty($aBuffer2[1][$index]) || $aBuffer2[1][$index] != $tag)
                          $tvsoutput .= '</'.$tag.'>';
                      }
                    }
                  }
                }
                if (OOAddon :: isAvailable('seo42')) {
                  $tvsoutput .= '<a href="' . getTVSBlogURL($art_post_id, $REX['CUR_CLANG']) . '">Weiterlesen...</a>';
                } else {
                  $tvsoutput .= '<a href="' . rex_getUrl('','', array('post_id'=>$sql->getValue('id')), '&') . '">Weiterlesen...</a>';
                }
              }
            }
            // Editorenausgabe konfigurieren...
            if (OOAddon::isInstalled('tinymce')) {
              $article = new rex_article();
              echo $article->replaceLinks($tvsoutput);
            } else if(OOAddon::isAvailable('markitup')) {
              $textile = htmlspecialchars_decode($tvsoutput);
              $textile = str_replace('<br />','',$textile);
              $textile = rex_a79_textile($textile);
              echo $textile = markitup_previewlinks($textile);
            } else {
              echo $tvsoutput;
            }


            if (OOAddon :: isAvailable('seo42')) {
              $url = getTVSBlogURL($art_post_id, $REX['CUR_CLANG']);
            } else {
              $url = urlencode($REX['SERVER'] . rex_getUrl('','') . '?post_id=' . $sql->getValue('id'));
            }

            //Facebook-Integration
            if ($settings['showFacebook'] == '1') {
              if (($tvsblog_post_id != '') && ($settings['Facebook_App_ID'] != '')) {
                ?>
                <div id="fb-root"></div>
                <script>
                  (function(d, s, id) {
                    var js, fjs = d.getElementsByTagName(s)[0];
                    if (d.getElementById(id)) return;
                    js = d.createElement(s); js.id = id;
                    js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=<?php echo $settings['Facebook_App_ID']; ?>";
                    fjs.parentNode.insertBefore(js, fjs);
                  }(document, 'script', 'facebook-jssdk'));
                </script>
                <div class="fb-comments" data-href="<?php echo $url; ?>" data-num-posts="2" data-width="470"></div>
                <?php
              }
              else {
                ?>
                <div style="text-align:left; padding-top: 10px;">
                  <iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo $url; ?>&layout=button_count" scrolling="no" frameborder="0" style="border:none; width:500px; height: 50px;"></iframe>
                </div>
                <?php
              }
            }

            //Tag Ausgabe
            if ($sql->getValue('tags') != '') {
              echo '  <div class="tvsblog_tags">';
              echo '    <h5>Schlagworte:</h5>';
              $tags = explode(',', $sql->getValue('tags'));
              $tags_out = '';
              foreach ($tags as $value) {
                $tags_out .= '<a href="' . rex_getUrl('','', array('tag'=>trim($value)), '&') . '">'.$value.'</a>, ';
              }
              $tags_out = substr($tags_out, 0, - 2);
              echo $tags_out;
              echo '  </div>';
            }
          }
          else {  //Teaser-Ausgabe
            echo '<div class="col-sm-4">';
            echo '  <div class="tvsblog_teaser' . $cat_name . '">';
            //
            // Slider-/ Teaserbild-Ausgabe
            //
            if ($sql->getValue('filelist') != '') {
              $filelist = $sql->getValue('filelist');
              $sliderfiles = explode(',',$filelist);
              if (count($sliderfiles) == 1) {
                $media = OOMedia::getMediaByName($sliderfiles[0]);
                $img_title = $media->getTitle();

                echo '<div class="tvsblog_teaserimage">';
                echo '  <img class="img-responsive img-circle" src="index.php?rex_img_type='.$imageType.'&rex_img_file=' . $sliderfiles[0] . '" alt="' . $img_title . '" title="' . $img_title . '" />';
                //echo '</div>';
              } else {
                $media = OOMedia::getMediaByName($sliderfiles[0]);
                $img_title = $media->getTitle();

                echo '<div class="tvsblog_teaserimage">';
                echo '  <img class="img-responsive img-circle" src="index.php?rex_img_type='.$imageType.'&rex_img_file=' . $sliderfiles[0] . '" alt="' . $img_title . '" title="' . $img_title . '" />';
                //echo '</div>';
  /*              echo '<div class="wmuSlider postslider' . $art_post_id . '">';
                echo '  <div class="wmuSliderWrapper">';
                foreach ($sliderfiles as $value) {
                  $media = OOMedia::getMediaByName($value);
                  $img_title = $media->getTitle();
                  echo '<article>';
                  echo '  <img src="index.php?rex_img_type=rex_tvsblog_sliderimages&rex_img_file=' . $value . '" alt="' . $img_title . '" title="' . $img_title . '" />';
                  echo '</article>';
                }
                echo '  </div>';
                echo '</div>'; */
              }
            }
            //Clickable Teaser-Overlay
            echo '<div class="teaser-overlay">'."\n";
            if (OOAddon :: isAvailable('seo42')) {
              echo '  <h2 class="h4"><a href="' . getTVSBlogURL($art_post_id, $REX['CUR_CLANG']) . '">' . $sql->getValue('title') . '</a></h2>';
            } else {
              echo '  <h2 class="h4"><a href="' . rex_getUrl('','') . '?post_id=' . $art_post_id . '">' . $sql->getValue('title') . '</a></h2>';
            }
            echo '<div class="blog-date">'."\n";
            echo date("d.m.Y", $sql->getValue('create_date'));
            echo '</div>'."\n";
            echo '</div>'."\n";
            if ($sql->getValue('filelist') != '') {
              echo '</div>'."\n";
            }
            echo '</div>'."\n";
          }




          echo '</div>';
        }
        $sql->next();
      }
      echo '    </div>'."\n";

      // Zurück-zum-Blog-Button
      if ($tvsblog_post_id != -1 || $tvsblog_tag != '') {
        echo '<div class="row">'."\n";
        echo '  <div class="col-sm-4">'."\n";
        echo '    <div class="tvsblog_back"><a class="btn btn-default btn-full-width btn-uppercase" href="' . rex_getUrl('','', array('tvsblog_start'=>trim($tvsblog_start), 'tvsblog_category'=>trim($tvsblog_category)), '&') . '">&laquo; Zurück zum Blog</a></div>';
        echo '  </div>'."\n";
        echo '  <div class="col-sm-4">'."\n";
        echo '    <div class="tvsblog_back"><a class="btn btn-default btn-full-width btn-uppercase" href="javascript:history.back();">&laquo; Zurück zur vorherigen Seite</a></div>';
        echo '  </div>'."\n";
        echo '</div>'."\n";
      }

      //Navigation vor und zurück
      echo '<div class="row">'."\n";
      if ($tvsblog_start > 0) {
        echo '<div class="tvsblog_navigation tvsblog_left_navigation col-sm-6">';
        echo '  <a class="btn btn-default btn-full-width btn-uppercase" href="' . rex_getUrl('','', array('tvsblog_start'=>trim($tvsblog_start - $tvsblog_limit), 'tvsblog_category'=>trim($tvsblog_category)), '&') . '#'.seo42::getUrlString(OOArticle::getArticlebyId($this->article_id)->getName()).'">&laquo; Neuere Beiträge</a>';
        echo '</div>';
      }
      if (($tvsblog_start + $tvsblog_limit) < $total_rows) {
        echo '<div class="tvsblog_navigation tvsblog_right_navigation col-sm-6 pull-right">';
        echo '  <a class="btn btn-default btn-full-width btn-uppercase" href="' . rex_getUrl('','', array('tvsblog_start'=>trim($tvsblog_start + $tvsblog_limit), 'tvsblog_category'=>trim($tvsblog_category)), '&') . '#'.seo42::getUrlString(OOArticle::getArticlebyId($this->article_id)->getName()).'">Ältere Beiträge &raquo;</a>';
        echo '</div>';
      }
      echo '</div>'."\n";

      //Navi End

      //Close surrounding div
      echo '  </div>'."\n";
      echo '</div>'."\n";
    }
    else
      echo '<div class="container"><div class="row"><div class="col-sm-12"><h1>Noch keine Beiträge in dieser Kategorie</h1></div></div></div>';
  } else {
    $filtercat = "REX_VALUE[2]";
    if ($filtercat == '') $filtercat = '(ALLE)';
    echo 'TVSBlog-Ausgabe mit REX_VALUE[1] Beiträgen auf einer Seite aus der Kategorie: ' . $filtercat;
  }
?>

Zurück zu „Allgemeines [R4]“