[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Gästebuch - Seitenaufrufe funktionieren nicht - 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/
Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

Gästebuch - Seitenaufrufe funktionieren nicht

6. Nov 2006, 16:52

Hallo!

Bei einem meiner Projekte ist ein Gästebuch verbaut:
http://www.mv-jedenspeigen.at/index.php ... 44&clang=0

Da funktioniert aus einem mir unerklärlichen Grund die Seiten URL's nicht...

Hat jemand einen Tip für mich?

Danke!

Arbeite mit Redaxo 3.2

Dr KillerJoe
Beiträge: 1711
Registriert: 24. Nov 2005, 22:29
Kontaktdaten: ICQ Website Yahoo Messenger

6. Nov 2006, 21:05

Die URL's für die Unterseiten des GB werden nicht richtig generiert -> das index.php fehlt

richtig: http://www.mv-jedenspeigen.at/index.php ... =44&page=1

momentan: http://www.mv-jedenspeigen.at/?article_id=44&page=1


mfg
Flo
Die Doku und Wiki sind Deine Freunde!!!

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

6. Nov 2006, 22:19

Hi,

bei richtig gesetzten DirectoryIndex sollte auch die 2. Url richtig funktionieren

Gruß,
Markus

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

6. Nov 2006, 22:32

kills hat geschrieben:Hi,

bei richtig gesetzten DirectoryIndex sollte auch die 2. Url richtig funktionieren

Gruß,
Markus
öhm - und was mach ich da jetzt?
Soll ich das in der Modulausgabe umstellen?

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

6. Nov 2006, 22:48

Hi,

die Links werden via rex_getUrl() generiert?

Gruß,
Markus

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

6. Nov 2006, 23:59

Das steht im Ausgabemodul:

Code: Alles auswählen

<?php
include ($REX['INCLUDE_PATH'].'/addons/guestbook/modules/module.list.inc.php');

$f1 = <<<EOD
REX_VALUE[1]
EOD;

$f2 = <<<EOD
REX_VALUE[2]
EOD;

$f3 = <<<EOD
REX_VALUE[3]
EOD;

$f4 = <<<EOD
REX_VALUE[4]
EOD;

$f5 = <<<EOD
REX_VALUE[5]
EOD;

$f6 = $this->getValue( 'article_id');

gbook_list_output($f1, $f2, $f3, $f4, $f5, $f6);
?>
Und das steht in der 'module.list.inc.php':

Code: Alles auswählen

<?php

/**
 * Guestbook Addon 
 * @author staab[at]public-4u[dot]de Markus Staab
 * @author <a href="http://www.public-4u.de">www.public-4u.de</a>
 * @package redaxo3
 * @version $Id: module.list.inc.php,v 1.6 2006/01/27 18:07:52 kills Exp $
 */
 
function gbook_list_input($elementsPerPage, $paginationsPerPage, $dateFormat, $emailFormat, $encryptEmails)
{
?>
    Einträge pro Seite:
    <br/>
    <input type="text" name="VALUE[1]" value="<?php echo $elementsPerPage ?>" size="5" maxlength="2" style="text-align: center"/>
    <br/><br/>
    Anzahl anzuzgeigender Seiten:
    <br/>
    <input type="text" name="VALUE[2]" value="<?php echo $paginationsPerPage ?>" size="5" maxlength="2" style="text-align: center"/>
    <br/><br/>
    Email-Adressen verschlüsseln:
    <br/>
    <select name="VALUE[5]">
     <option value="0" <?php echo $encryptEmails == '0' ? 'selected="selected"' : '' ?>>Nein</option>
     <option value="1" <?php echo $encryptEmails == '1' ? 'selected="selected"' : '' ?>>Ja</option>
    </select>
    <br/><br/>
    Datums-Format:
    <br/>
    <input type="text" name="VALUE[3]" value="<?php echo $dateFormat ?>" size="45"/>
    <br/>
    siehe <a href="http://php.net/strftime" target="_blank">PHP Manual - strftime()</a>
    <br/><br/>
    Email-Adressen-Format:
    <br/>
    <input type="text" name="VALUE[4]" value="<?php echo $emailFormat ?>" size="45"/>
    <br/><br/>
    Beispiel:<br/>
    max.mustermann@nowhere.no<br/>
    %to% == max.mustermann<br/>
    %domain% == nowhere<br/>
    %tldomain% == no<br/>
    <br/>
    Format-Beispiele:<br/>
    %to%@%domain%.%tldomain%<br/>
    %to%[AT]%domain%[DOT]%tldomain%<br/>
    %to%*AT*%domain%*DOT*%tldomain%<br/>
    <?php


}

function gbook_list_output($elementsPerPage, $paginationsPerPage, $dateFormat, $emailFormat, $encryptEmails, $article_id)
{
  global $REX;

  // hier beliebige mail encrypt funktion einbinden
  include ($REX['INCLUDE_PATH'].'/addons/guestbook/encryptions/mailcrypt2.php');

  $article_id = $article_id;

  // Ausgabe nur im Frontend
  if ($REX['REDAXO'] != true)
  {
    $page = empty ($_GET['page']) ? 0 : $_GET['page'];

    $qry = 'SELECT * FROM '.TBL_GBOOK.' ORDER BY id DESC LIMIT '. ($page * $elementsPerPage).', '.$elementsPerPage;
    $sql = new sql();
    $data = $sql->get_array($qry);

    if (is_array($data))
    {
      echo '<div class="gbook">';
      echo '<div class="pagination">'.gbook_pagination($page, $elementsPerPage, $paginationsPerPage).'</div>';
      foreach ($data as $row)
      {
        $url = strpos($row['url'], 'http://') === false ? 'http://'.$row['url'] : $row['url'];
        $row['url'] = empty ($row['url']) ? 'keine Angabe' : '<a href="'.$url.'">'.$row['url'].'</a>';
        $row['created'] = strftime( $dateFormat, $row['created']);

        $maillabel = gbook_formatemail($row['email'], $emailFormat);
        if ($encryptEmails == '1')
        {
          $maillabel = gbook_encryptmail($maillabel);
          $row['email'] = gbook_encryptmail($row['email']);
        }
        $row['email'] = '<a href="mailto:'.$row['email'].'">'.$maillabel.'</a>';
?>
 <div class="entry">
   <div class="name">
     <div class="label">Name:</div>
     <div class="value"><?php echo stripslashes( $row['author']) ?></div>
   </div>
   <div class="email">
     <div class="label">Email:</div>
     <div class="value"><?php echo $row['email'] ?></div>
   </div>
   <div class="url">
     <div class="label">Homepage:</div>
     <div class="value"><?php echo $row['url'] ?></div>
   </div>
   <div class="time">
     <div class="label">Verfasst:</div>
     <div class="value"><?php echo $row['created'] ?></div>
   </div>
   <div class="text">
     <div class="label">Nachricht:</div>
     <div class="value"><?php echo nl2br( stripslashes( $row['message'])) ?></div>
   </div>
   <?php if ( trim( $row['reply']) != '') : ?>
   <div class="reply">
     <div class="label">Antwort:</div>
     <div class="value"><?php echo nl2br( stripslashes( $row['reply'])) ?></div>
   </div>
   <?php endif; ?>
 </div>
 <?php


      }
      echo '<div class="pagination">'.gbook_pagination($page, $elementsPerPage, $paginationsPerPage).'</div>';
      echo '</div>';
    }

  }
  else
  {
?>
 <b>Die Einträge sind nur im Frontend sichtbar!</b>
 <br/><br/>
 <b>Konfiguration:</b>
 <br/>
 Einträge pro Seite: <b><?php echo $elementsPerPage ?></b>
 <br/>
 Anzahl anzuzgeigender Seiten: <b><?php echo $paginationsPerPage ?></b>
 <br/>
 Emailverschlüsselung: <b><?php echo $encryptEmails == '1' ? 'Ja' : 'Nein' ?></b>
 <br/>
 Datumsformat: <b><?php echo $dateFormat ?></b>
 <br/>
 Emailformat: <b><?php echo $emailFormat ?></b>
 <?php


  }

}
function gbook_pagination($currentPage, $elementsPerPage, $paginationsPerPage)
{
  $qry = 'SELECT count(*) rowCount FROM '.TBL_GBOOK;
  $sql = new sql();
  $data = $sql->get_array($qry);

  $oneSidePaginations = floor($paginationsPerPage / 2);
  //var_dump( $oneSidePaginations);
  $rowCount = $data[0]['rowCount'];
  //var_dump( $rowCount);
  $pageCount = ceil($rowCount / $elementsPerPage) + 1;
  //var_dump( $pageCount);
  if ($currentPage <= $oneSidePaginations)
  {
    $start = 1;
  }
  else
  {
    $start = $currentPage - $oneSidePaginations;
  }
  //var_dump( $start);

  $str = '';

  if ($currentPage != 0)
  {
    $str .= gbook_paginationurl(0, '&laquo;');
  }

  for ($i = 0; $i <= $paginationsPerPage; $i ++)
  {
    if ($start == $pageCount)
    {
      break;
    }
    $str .= gbook_paginationurl($start -1, $start);
    $start ++;
  }

  if ($currentPage != ($pageCount -2))
  {
    $str .= gbook_paginationurl($pageCount -2, '&raquo;');
  }
  return $str;
}

function gbook_paginationurl($page, $label = null)
{
  if ($label === null)
  {
    $label = $page;
  }
  return '<a href="?article_id='.$GLOBALS['article_id'].'&page='.$page.'">'.$label.'</a>';
}

function gbook_formatemail($email, $format)
{
  $iATPos = strpos($email, '@');
  $iDotPos = strrpos($email, '.');

  $to = substr($email, 0, $iATPos);
  $domain = substr($email, $iATPos +1, $iDotPos - $iATPos -1);
  $tldomain = substr($email, $iDotPos +1);

  return str_replace(array ('%to%', '%domain%', '%tldomain%'), array ($to, $domain, $tldomain), $format);
}
?>

Dr KillerJoe
Beiträge: 1711
Registriert: 24. Nov 2005, 22:29
Kontaktdaten: ICQ Website Yahoo Messenger

7. Nov 2006, 00:27

Probier mal folgendes:

Ersetze (Zeile 201 modul.list.inc.php):

Code: Alles auswählen

  return '<a href="?article_id='.$GLOBALS['article_id'].'&page='.$page.'">'.$label.'</a>';
mit

Code: Alles auswählen

  return '<a href="index.php?article_id='.$GLOBALS['article_id'].'&page='.$page.'">'.$label.'</a>';
(ungetestet)

Wahrscheinlich hat Markus eine elegantere Lösung, aber erstmal sollte es funktionieren ;)

mfg
Flo
Die Doku und Wiki sind Deine Freunde!!!

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

7. Nov 2006, 11:35

Toll das hat funktioniert - SPITZE!

Danke!

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

7. Nov 2006, 12:49

Hi,
Dr KillerJoe hat geschrieben:Wahrscheinlich hat Markus eine elegantere Lösung, aber erstmal sollte es funktionieren ;)
stimmt ... :-)

Probier mal folgendes:
Ersetze (Zeile 201 modul.list.inc.php):

Code: Alles auswählen

  return '<a href="?article_id='.$GLOBALS['article_id'].'&page='.$page.'">'.$label.'</a>';
mit

Code: Alles auswählen

  return '<a href="'. rex_getUrl('','', array('page' => $page)) . '">'.$label.'</a>';
(ungetestet)


Gruß,
Markus

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

7. Nov 2006, 13:32

Läuft ebenso!!

Vielen dank an euch beide!!!!!

Dr KillerJoe
Beiträge: 1711
Registriert: 24. Nov 2005, 22:29
Kontaktdaten: ICQ Website Yahoo Messenger

7. Nov 2006, 13:34

kills hat geschrieben:Hi,
Dr KillerJoe hat geschrieben:Wahrscheinlich hat Markus eine elegantere Lösung, aber erstmal sollte es funktionieren ;)
stimmt ... :-)
^^

Du kleiner Textklauer ;) :lol:

mfg
Flo
Die Doku und Wiki sind Deine Freunde!!!

mina30de
Beiträge: 146
Registriert: 19. Mär 2007, 11:43

26. Mai 2010, 20:41

Das klappt auch noch bei dieser Version.

Code: Alles auswählen

/**
 * Guestbook Addon
 * @author staab[at]public-4u[dot]de Markus Staab
 * @author <a href="http://www.public-4u.de">www.public-4u.de</a>
 * @author redaxo[at]koalashome[dot]de Sven (Koala) Eichler
 * @package redaxo4
 * @version $Id: module.list.inc.php,v 1.19 2009/05/28 22:13:19 koala_s Exp $
 */


etwa Zeile 331 ersetzen
/* 
  $link = '<li class="'.$class_aktuell.'"><a href="?article_id='.$_art_id.'&page='.$page.'" title="Seite '.$title_name.'" name="Seite '.$title_name.'">';
  $link .= $label.'</a></li>'; */

mit
  
   
  $link = '<li class="'.$class_aktuell.'"><a href="'. rex_getUrl('','', array('page' => $page)) . '" title="Seite '.$title_name.'" name="Seite '.$title_name.'">';
  $link .= $label.'</a></li>';
Vielen Dank :wink:

Zurück zu „Allgemeines [R3]“