Addon Gästebuch

Fragen/Tipps allgemeiner Art.

Beitragvon [KoC]Marlboro » 25. Apr 2005, 12:45

Braucht ihr die .css aus dem addon-Verzeichnis oder die guestbook.css aus dem Ordner files?
[KoC]Marlboro
 
Beiträge: 65
Registriert: 12. Mär 2005, 02:48
Wohnort: Dorsten

Beitragvon Markus.Staab » 25. Apr 2005, 14:17

[KoC]Marlboro hat geschrieben:Braucht ihr die .css aus dem addon-Verzeichnis oder die guestbook.css aus dem Ordner files?


Wenn du das readme gelesen hättest, wüsstest du das du die guestbook.css in den ordner files kopieren sollst und ins template einbinden.

Gruß, Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon [KoC]Marlboro » 26. Apr 2005, 23:56

Ja, das habe ich ja!
Hier ist die .css

Code: Alles auswählen
/*

   Guesbook Addon-CSS by Markus Staab

   www.public-4u.de

   13.05.2005

*/







/*

   Formular Styles

*/





/* Formular */

form.gbook div {

   width: 400px;

}



/* Eingabefelder */

form.gbook input, form.gbook textarea {

   border: 1px solid black;

    margin: 2px;

   width: 250px;

   background-color: #F6F4EF;

}



/* Text-Eingabefeld*/

form.gbook textarea {

   height: 100px;

}



/* Beschriftungen der Eingabefelder */

form.gbook div.label {

   width: 100px;

   float: left;

}



/* Buttons */

form.gbook input.button {

    width: 100px;

   margin: 0px;

   margin-top: 5px;

   background-color: #D6D3CE;

}



/* Buttons-Layer*/

form.gbook div.buttons {

   padding-left: 105px;

}



/* Zusatztext-Layer*/

form.gbook div.info {

   text-align: right;

}



/* Fehlermeldungs-Layer*/

form.gbook div.error {

   font-weight: bold;

   padding-top: 5px;

   padding-bottom: 10px;

}







/*

   Listen Styles

*/





/* Einträge-Layer */

div.gbook .entry {

   padding-top: 10px;

   padding-bottom: 10px;

   border-bottom: 2px dashed #859885;

}



/* Pagination-Layer */

div.gbook .pagination {

   float: right;

}



/* Pagination-Links */

div.gbook .pagination a {

   padding-left: 2px;

   padding-right: 2px;

}



/*

Allgemeine Formatierungen

*/



/* Beschriftungen */

div.gbook .label {

   float: left;

}



/* Werte */

div.gbook .value {

   padding-left: 150px;

}



/*

Spezifische Formatierungen



z.b.

[code]

div.gbook .<feldname> .<feldtyp>{

}

[/code]

*/



div.gbook .text .label {

   padding-top: 5px;

}



div.gbook .text .value {

   clear: left;

   padding: 5px;

   background-color: #F6F4EF;

}
[KoC]Marlboro
 
Beiträge: 65
Registriert: 12. Mär 2005, 02:48
Wohnort: Dorsten

Beitragvon Markus.Staab » 27. Apr 2005, 12:19

ist diese in dein Template eingebunden?

Kann man zu dem ganzen ma ne URL haben damit ich mir das ansehen kann? Das würde die sache erleichtern ;)

Viele Grüße,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon [KoC]Marlboro » 27. Apr 2005, 16:10

Wie in mein Template eingebunden??
[KoC]Marlboro
 
Beiträge: 65
Registriert: 12. Mär 2005, 02:48
Wohnort: Dorsten

Beitragvon Markus.Staab » 27. Apr 2005, 16:21

[KoC]Marlboro hat geschrieben:Wie in mein Template eingebunden??

Eingebunden ala

<link rel="stylesheet" link="style.css"/>

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon [KoC]Marlboro » 27. Apr 2005, 19:22

Ich hab das einfach nur als AddOn bei redaxo installiert, aktiviert und unter Gästebuch die Formulare verlinkt.
Wie soll ich das denn mit dem Template da machen?!

Sorry, bin da noch nicht ganz im Bilde... :(
[KoC]Marlboro
 
Beiträge: 65
Registriert: 12. Mär 2005, 02:48
Wohnort: Dorsten

Beitragvon Thomas.Blum » 27. Apr 2005, 20:19

Hej,

Anleitung für Dich und nur für Dich ;-)

Backend Login -> Standard Template öffnen -> Zeile suchen di ungefähr so aussieht

Code: Alles auswählen
<link rel="stylesheet" link="/files/style.css"/>


danach diese zeile einfügen
Code: Alles auswählen
<link rel="stylesheet" link="/files/guestbook.css"/>


Zu beachten ist, dass die guestbook.css die CSS-Datei ist, die kills für das Gästebuch mitgeliefert hat.

Alles Klar?

Achso Template speichern!!!

lg Thomas

PS: :?: ich frage mich, wenn du schwirigkeiten beim einbinden einer css-datei hast, wie es geschafft hast eine komplette präsenz per redaxo zu bauen :?:
blumbeet - web.studio - Dresden - 0351 217 6225
Sherlock - Finder für REDAXO 4.5
Watson - Suchagent für REDAXO 4.5
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4781
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden

Beitragvon diavolokor » 30. Apr 2005, 23:03

ich hab nen anderes Probleme...bei mir kommen/erscheinen die 2 module nicht könnte sie einer mal posten ? oder sagen worans liegt ?
diavolokor
 
Beiträge: 30
Registriert: 30. Apr 2005, 23:00

Beitragvon Markus.Staab » 1. Mai 2005, 00:25

hast du das ganze nach der installations Anleitung im Readme durchgeführt?

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon diavolokor » 1. Mai 2005, 00:28

jepp. bei mir erscheint auch "gästebuch" oben in der navi...bloss die module sind spurlos verschwunden, auch nach mehrmaliger neu installation.
diavolokor
 
Beiträge: 30
Registriert: 30. Apr 2005, 23:00

Beitragvon Markus.Staab » 1. Mai 2005, 00:31

diavolokor hat geschrieben:jepp. bei mir erscheint auch "gästebuch" oben in der navi...bloss die module sind spurlos verschwunden, auch nach mehrmaliger neu installation.


Spurloß verschwunden heisst, dass sie schonma da waren?

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon diavolokor » 1. Mai 2005, 00:34

ne, die waren noch nie da ;) ...echt, ich such schon die ganze zeit nach möglichen fehlern...könntest du mir die module mal posten ?
diavolokor
 
Beiträge: 30
Registriert: 30. Apr 2005, 23:00

Beitragvon Markus.Staab » 1. Mai 2005, 00:36

Jepp,


also

Gästebuch - Eintragsliste:

Eingabe
Code: Alles auswählen
<?php
$f1 = "REX_VALUE[1]" != "" ? "REX_VALUE[1]" : 5;
$f2 = "REX_VALUE[2]" != "" ? "REX_VALUE[2]" : 5;
$f3 = "REX_VALUE[3]" != "" ? "REX_VALUE[3]" : '%d.%m.%Y %H:%i';
?>
Einträge pro Seite:
<br/>
<input type="text" name="VALUE[1]" value="<?php echo $f1 ?>"/>
<br/><br/>
Anzahl anzuzgeigender Seiten:
<br/>
<input type="text" name="VALUE[2]" value="<?php echo $f2 ?>"/>
<br/><br/>
Datumsformat:
<br/>
<input type="text" name="VALUE[3]" value="<?php echo $f3 ?>"/>
siehe <a href="http://dev.mysql.com/doc/mysql/de/date-and-time-functions.html" target="_blank">MySQL Manual</a>


Ausgabe
Code: Alles auswählen
<?php
$article_id = $this->getValue('article_id');

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

   $qry = 'SELECT
                author, message, url, email, date_format( created, "REX_VALUE[3]") created
            FROM
                rex__gbook
            ORDER BY created DESC
            LIMIT '.($page * REX_VALUE[1]).', REX_VALUE[1]';
   $sql = new sql();
   $data = $sql->get_array($qry);

        if ( is_array($data)) {
   echo '<div class="gbook">';
    echo '<div class="pagination">'. gbook_pagination($page) .'</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['email'] = '<a href="mailto:'.$row['email'].'">'.htmlentities(stripslashes($row['email'])).'</a>';
?>
  <div class="entry">
    <div class="name">
      <div class="label">Name:</div>
      <div class="value"><?php echo htmlentities( 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( htmlentities( $row['message'])) ?></div>
    </div>
  </div>
    <?php

   }
   echo '</div>';
}

}
else
{
?>
    <b>Die Einträge sind nur im Frontend sichtbar!</b>
    <br/><br/>
    <b>Konfiguration:</b>
    <br/>
    Einträge pro Seite: <b>REX_VALUE[1]</b>
    <br/>
    Anzahl anzuzgeigender Seiten: <b>REX_VALUE[2]</b>
    <br/>
    Datumsformat: <b>REX_VALUE[3]</b>
    <?php


}

function gbook_pagination( $currentPage)
{
   $qry = 'SELECT
                count(*) rowCount
            FROM
                rex__gbook';
   $sql = new sql();
   $data = $sql->get_array($qry);
   
    $elementsPerPage = REX_VALUE[1];
    $paginationsPerPage = REX_VALUE[2];
    $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 = 'Seite ';
   
    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>';
}
?>



Gästebuch - Formular:
Eingabe
Code: Alles auswählen
// nichts


Ausgabe
Code: Alles auswählen
<?php
function validFields() {
  if ( empty( $_POST['gbook_save'])) return false;
  $return = array();

  $reqfields = array( 'name', 'email', 'text');
  foreach ( $reqfields as $name) {
     if ( empty( $_POST[$name])) {
       $return[] = $name;
     }
  }

  // Email Syntax Prüfung
  if ( !ereg('^([a-z0-9_]|-|.)+' . '@' . '(([a-z0-9_]|-)+.)+' . '[a-z]{2,4}$', $_POST['email'])) {
    $return[] = 'email';
  }

  return empty( $return) ? true : $return;
}

if (($errorfields = validFields()) === true):
  $author = mysql_escape_string( $_POST['name']);
  $message = mysql_escape_string( $_POST['text']);
  $url = mysql_escape_string( $_POST['url']);
  $email = mysql_escape_string( $_POST['email']);

  $qry = 'INSERT INTO rex__gbook SET
             author = "'. $author . '",
             message = "'. $message.'",
             url ="'. $url.'",
             email="'. $email.'",
             created = NOW()';
  $sql = new sql();
  $sql->query( $qry);
  // Formular wegen CSS
?>

<form name="gbook" class="gbook" action="index.php" method="post">
  <div class="error">Danke für Ihren Eintrag!</div>
</form>

<?php
else:
  $error = '';
  $name= '';
  $email = '';
  $url = '';
  $text = '';

  if ( !empty( $_POST['gbook_save'])) {
    // var_dump($_POST);
    // Felder mit Werten füllen
    $name = $_POST['name'];
    $email = $_POST['email'];
    $url = $_POST['url'];
    $text = $_POST['text'];

    $error .= '<div class="error">';

    foreach( $errorfields as $fieldname) {
      $error .= 'Pflichtfeld "'. ucwords( $fieldname) .'" bitte ausf&uuml;llen!<br/>';
    }

    $error .= '</div>';
  }
?>

<form name="gbook" class="gbook" action="index.php" method="post">
  <input type="hidden" name="article_id" value="<?php echo $this->getValue( 'article_id') ?>"/>
  <?php echo $error ?>
  <div>
    <div class="label"><label for="gbook_name">Name*</label></div>
    <input type="text" id="gbook_name" name="name" value="<?php echo $name ?>" maxlength="255"/>
  </div>
  <div>
    <div class="label"><label for="gbook_email">Email*</label></div>
    <input type="text" id="gbook_email" name="email" value="<?php echo $email ?>" maxlength="255"/>
  </div>
  <div>
    <div class="label"><label for="gbook_url">Homepage</label></div>
    <input type="text" id="gbook_url" name="url" value="<?php echo $url ?>" maxlength="255"/>
  </div>
  <div>
    <div class="label"><label for="gbook_text">Text*</label></div>
    <textarea id="gbook_text" name="text"><?php echo $text ?></textarea>
  </div>
  <div class="buttons">
    <input class="button" type="submit" name="gbook_save"value="eintragen"/>
    <input class="button" type="reset" value="zur&uuml;cksetzen"/>
  </div>
  <div class="info">
    * Pflichtfelder
  </div>
</form>

<?php
endif;
?>
Zuletzt geändert von Markus.Staab am 1. Mai 2005, 00:54, insgesamt 1-mal geändert.
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon diavolokor » 1. Mai 2005, 00:51

dankeschön, also das eingabe formular funktioniert allerdings gibt die ausgabeliste des gbs nichts aus...d.h ich seh keine einträge..
diavolokor
 
Beiträge: 30
Registriert: 30. Apr 2005, 23:00

VorherigeNächste

Zurück zu Allgemeines [R2]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast