XHTML, CSS und PHP (Probleme und Fehler)

aus Papoo Dokumentation, der freien Wissensdatenbank
Wechseln zu: Navigation, Suche

Sie sind hier: Hauptseite/FAQ und Lösungen/XHTML, CSS und PHP (Probleme und Fehler)

Im Gegensatz zu XHTML, CSS und PHP erklärt diese Seite Probleme, Fragen, Hacks oder andere Lösungen, nicht jedoch die grundlegenden Techniken der vier Komponenten des Papoo-CMS:

  • PHP - in dieser Programmiersprache ist Papoo geschrieben
  • MySQL - das verwendete RDBMS von Papoo ist in der Regel MySQL
  • XHTML - die Ausgaben im Browser wird über XHTML erreicht
  • CSS - mittels CSS werden die Formatierungen, also das Aussehen der Ausgabeseiten von Papoo, gesteuert.

Einer der Hauptwünsche aller Papoo-Benuzter ist die Anpassung des Designs. Viel lässt sich dabei über die CSS-Datei realisieren. Sind spezielle Anpassungen im Layout nötig, sind auch tiefere Eingriffe in das System von Papoo nötig. Die Ausgabesteuerung wird im Papoo über Templates erreicht.

An dieser Stelle wollen wir Lösungen zeigen, die uns von Nutzern des Systems Papoo zur Verfügung gestellt wurden. Sie sind nicht eine reine Fehlerbehebung nach einem Update. Wir möchten darauf hinweisen, dass damit auch ein erhöhter Arbeitsaufwand bei zukünftigen Upgrades von Papoo verbunden ist.

Die Nutzung dieser Lösungen bietet sich also nur für versierte Papoo-Nutzer an.

Inhaltsverzeichnis

Ich möchte das Aussehen von Papoo ändern

Die Frage des Designs stellt sich mit jeder Installation von Papoo.

Bisher gibt es eine CSS-Datei für alle Browser und eine CSS-Datei (IE_Fixes), in der die Besonderheiten für den Internet Explorer reinkommen.

Nun kommen immer wieder Fragen, wo kann ich dies oder das in der CSS-Datei ändern. Dafür gibt für den Firefox mit dem Web Developer eine sehr gute Erweiterung, die eine zusätzliche Symbolleiste einblendet. Mit dieser Leiste können online Änderungen zum Test vorgenommen werden:

  • CSS bearbeiten (Shortcut: STRG+Umschalt+B)
  • CSS deaktivieren (Shortcut: STRG+Umschalt+D)
  • Grafiken deaktivieren
  • Grafiken ohne ALT-Attribute hervorheben

Ebenso kann über die Funktion Style informationen anzeigen (STRG+Umschalt+Y) mittels Mauszeiger jedes Element auf dem Bildschirm auf seine grundlegenden CSS Elemente überprüft werden.

Ab Papoo Version 3.0 wird das System auf YAML umgestellt.

Designänderungen an der Fußzeile

Das Aussehen und der Inhalt der Fußzeile werden in der Datei /templates/foot.inc.html angepasst.

Hinweis: Bitte sichern Sie sich die Originaldatei vor einer Änderung, z.B. mit folgendem Namen: foot_ori.inc.html. So können Sie die ursprüngliche Datei jederzeit wieder her stellen.

{if $startseite}
<a style="display: none;height: 0px;left: -1000px;overflow:hidden;
position: absolute;top: -1000px;width: 0px;" href="http://www.papoo.de">
Barrierefreies Internet auf {$site_name} durch Papoo!</a>
{/if}
<div style="display: none;height: 0px;left: -1000px;overflow:hidden;
position: absolute;top: -1000px;width: 0px;">.<h2 class="ignore">
xx_zaehler</h2></div></body></html>

Zum Beispiel könnte man hier nach dem {/if} die vorhandene Fußzeile ersetzen. Folgender Code erzeugt eine hellbraune Fußzeile ganz unten über 100% Breite mit einem Link zur Papoo-Seite:

{/if}
<center>
<div style="background-color: #ECE1C3; color: black; padding: 0.5em; 
border-left: none; border-top: solid; border-bottom: solid; border-right: none;
border-top-width: thin; border-bottom-width: thin; border-color: gray; 
width: 100%; ">
<a href="http://www.papoo.de">Barrierefreies Internet auf {$site_name} 
durch Papoo</a></div></center></body></html>

Überschriften in der 3. Spalte sollen auch farbig unterlegt sein

<h3 class="bla">header</h3>

.bla {
background:#555;
}

oder 
/* Kann natürlich auch h2,h4 etc sein */
.rechts1fl h3 { 
background:#555;
}

Wie bekomme ich die Suchbox in die rechten Spalte

Gilt bis Version 3.0

In der Grundinstallation von Papoo werden in der rechten Spalte das Login, der Styleswitcher und Artikel dargestellt. Die Suchbox befindet sich im Kopfbereich und nicht ebenso in der rechten Spalte. Da sich die Anfragen im Forum gehäuft haben, wollen wir hier diese beliebte Änderung für den versierten Papoo-User vorstellen. Wenn Ihr Euch diese Lösung anschaut, werdet Ihr auch die Möglichkeit haben, die Suchbox dort zu platzieren, wo Ihr sie haben wollt.

Die Suchbox in der 3. Spalte, hier angepaßt an die Überschriften in der 3. Spalte sollen auch farbig unterlegt sein

Es sind dafür Änderungen in den folgenden Dateien nötig:

  1. /templates/top.inc.html
  2. /templates/rightcollumn.html
  3. /css/papoo/papoo.css (wenn diese CSS-Datei für den Webauftritt benutzt wird, ansonsten bitte die eigene CSS-Datei entsprechend ändern)

Fangen wir mit dem größeren Umbau in den Templates an.

  1. Die Suchbox-Befehle stehen in der Datei: /templates/top.inc.html
    In dieser Datei die Befehlszeile {if $suchbox} suchen. Im folgenden sehen Sie, welche Zeilen ausgeschnitten werden müssen.
      {if $suchbox}
        <div id="suchbox" class="suchen">
          <h2 class="ignore">Suche</h2>
          <a name="suchen" id="suchen"></a>
          <form id="suche" method="post" action="{$slash}{$link_form}">
            <fieldset>
            	<legend>{$message_2135}</legend>
{*<!-- Suche-->*}
              <label for="search">{$message_2135}</label>
{*<!-- Suchbegriff hier eingeben-->*}
              <input type="text" id="search" 
name="search" size="20" value="{$search}" title="{$message_2136}" {$searchneu} />
{*<!-- Finden-->*}
              <input type="submit" name="find" value="{$message_2138}" />
            </fieldset>
          </form>
        </div>
       {/if}
  1. Diese Zeilen aus 1. kommen nun in die Datei /templates/rightcollumn.html. Wenn die Suchbox nach der Login-Box erscheinen sollen, suchen Sie bitte die Zeile {if $loggedin} und dann das zugehörige {/if}. Danach fügen Sie bitte die Zeilen aus 1. ein.
  2. Als nächsten ist noch die CSS-Datei anzupassen, damit die Positionierung stimmt.
    1. Suchen Sie sich .suchen{} und löschen Sie dieses
    2. Suchen Sie sich #suchbox (es sind 3 Einträge). Diese verschieben Sie bitte hinter .loginbox, dies dient der besseren Zuordnung.
#suchbox {
    position:absolute;
    z-index:101;
    top:40px;
    left:48%;
    width:25em;
    }
#suchbox fieldset {
    border:none;

    }
#suchbox legend {
   display:none;
    }
    1. Setzen Sie bitte in die Zeile .loginbox ,.suchen ein
.loginbox, .stylemenu, .suchen {
    1. Kommentieren Sie bei #suchbox folgende Zeilen aus:
      • position
      • z-index
      • top
      • left

Übertragen Sie die geänderten Dateien wieder auf Ihren Server. Danach sollten Sie die Suchbox schon in der 3. Spalte sehen und benutzen können.

Wichtig: Sollten Sie die Suchbox nicht sehen, prüfen Sie bitte, ob die Suchbox in den Stammdaten überhaupt aktiviert ist.

Hier können Sie sich eine Datei runterladen, die die drei geänderten Dateien enthält. Voraussetzung: Grundinstallation von Papoo Vers. 2.1.4 und Nutzung der papoo.css.

Hier sehen Sie noch eine andere Anpassung für die Login- und Suchbox: Forum - Suchbox in der 3. Spalte

Über Kontaktformular an verschiedene Verantwortliche schreiben

Diese Änderung gilt für alle Versionen der 2.1.x.

Kontaktformular beim Aufruf zeigt den ersten Ansprechpartner

Von cabotime, alias Frank J., wurde uns eine interessante Lösung für das Kontaktformular zur gestellt. Mit dieser Lösung ist es möglich, das Anfragen nicht nur an den Admin der Webseite gesendet werden können, sondern an unterschiedliche Verantwortliche.

Hier sehen Sie die Ansprechpartner im Pulldown-Menü

Dabei werden die eMail-Adressen der Empfänger nicht offengelegt.

Einziger Wermutstropfen an dieser Lösung ist noch, das die Anpassung nicht über Plugin verfügbar ist. Also, hier noch mal der Hinweis, diese Lösung ist nur für Anwender gedacht, die sich die Fortführung der Änderung bei einem Update eigenständig zutrauen.

Um das geänderte Kontaktformular nutzen zu können, sind Änderungen an zwei Dateien vorzunehmen.

  • \templates\kontakt.html Hier kommen für alle sichtbar die Ansprechpartner rein
  • \lib\classes\mail_it_class.php Hier werden für alle nicht sichtbar die eMail-Adresse hinterlegt.

In der kontakt.html wird die Zeile 33 (Vers. 2.1.3), 35 (Vers. 2.1.4) ersetzt.

alt:

<label for="email">{$message_2089}</label><br />

neu:

<label for="zuwem">An wen soll Ihre E–Mail gesendet werden:</label><br/>
<select id="zuwem" tabindex="2" name="zuwem" title="{$message_2088}">
<option value="1" {php} if ($zuwem=="1") { echo "SELECTED";} {/php} >Name1</option>
<option value="2" {php} if ($zuwem=="2") { echo "SELECTED";} {/php} >Name2</option>
''(... hier soviele Zeilen einfügen wie Ansprechpartner vorhanden sind ...)''<br />
<option value="6" {php} if ($zuwem=="6") { echo "SELECTED";} {/php} >Name6</option>
</select>
<br />

Nun kommen wir zur mail_it_class.php, hier wird die Zeile 273 (Version 2.1.3 und 2.1.4) ersetzt.

alt:

$this->to = $this->cms->admin_email;

neu:

 //echo $this->checked->zuwem ;
if ($this->checked->zuwem ==1) { $this->to = "e1@mail.de";}
if ($this->checked->zuwem ==2) { $this->to = "e2@mail.de";}
''(... hier soviele Zeilen einfügen wie Ansprechpartner vorhanden sind ...)''
if ($this->checked->zuwem ==6) { $this->to = "e6@mail.de";}

Frank J. hat die Dateien auch als Download zur Verfügung gestellt, hier der [Download].

Das Kontaktformular kann auf dieser Webseite ausprobiert werden.

'Persönliche Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge