impressum

« Deutschsprachige Dokumentation gewünscht?
Author Message
kiesow
Posted: Mon Mar 29, 2004 13:02     Topic subject: impressum

in deutschland ist es leider pflicht, das auch mehr oder weniger private webseiten über ein impressum verfügen müssen, für blogs gilt es definitiv. nach geltenden rechtsprechung muss der entsprechende link gut zu sehen sein, darf also nicht erst nach vier seiten scrollen sichtbar sein - was ich persönlich ziemlich relativ finde, solange man nicht sagt, bei welcher auflösung vier seiten zuviel sind...

woher bekommt man ein impressum? z.b. von hier http://www.abmahnwelle.de/certiorina/ (ob dies allerdings absolut wasserdicht ist, weiss ich auch nicht)

wie erzeugt man recht einfach eine dafür notwendige "statische" seite? ich habe dafür im ordner skins eine datei _impressum.php mit folgendem inhalt angelegt

Code

<?php
  /*
   * This is the template that displays an impressum for a blog
   *
   * This file is not meant to be called directly.
   * It is meant to be called by an include in the _main.php template.
   * To display the stats, you should call a stub AND pass the right parameters
   * For example: /blogs/index.php?disp=impressum
   */
  if(substr(basename($_SERVER['SCRIPT_FILENAME']),0,1)=='_')
    die("Please, do not access this page directly.");
  
  if( $disp == 'impressum' )
  { ?>
 
  <h1 id="pageTitle">Impressum</h1>
 
  <div class="bPost" lang="<?php the_lang() ?>">
  <div class="bText">
 
[hier den eigenen impressumstext reinsetzen. formatierungen mit <p> oder <br /> muss jeder selbst machen]
 
</div></div>
  
  
  <div class="clear"></div>
    
  <?php
  }
?>

anschliessend muss man noch in der _main.php vom genutzten skin, also z.b. skin/default/_main.php folgende dinge ändern:

direkt unter diesem block

Code

case 'profile':
      // this includes the profile form if requested
      require( dirname(__FILE__).'/_profile.php');
      break;

fügt man ein

Code

case 'impressum':
      // this includes the profile form if requested
      require( dirname(__FILE__).'/../_impressum.php');
      break;

dann muss man nur noch den link irgendwo einbauen, am besten recht weit oben

Code

<a href="<?php bloginfo('blogurl') ?>?disp=impressum">Impressum</a>

sollte dann funktionieren.

ich habe zwar auch kein bedürfnis, unbedingt ein impressum bereitzustellen, aber es gibt personen, die sich durch abmahnungen bei fehlendem oder unvollständigem impressum ein angenehmes leben finanzieren. und mal eben einige hundert euro abzudrücken, dürfte den meisten von uns nicht gefallen.
blogs stellen übrigens "journalistisch-redaktionelle" texte dar, da sie zur meinungsbildung beitragen (können), daher muss ein "Inhaltlich Verantwortlicher gemäß § 10 Absatz 3 MDStV" genannt werden.

wie sich das ganze in der schweiz oder österreich verhält, weiss ich nicht.
und nein, wenn ihr trotz impressum eine abmahnung bekommt, könnt ihr mich deshalb nicht verklagen... ;-)

Back to top
 
paulap01
Posted: Sun Jul 11, 2004 17:35

Danke,

funktioniert Ok.

paulap01

Back to top
 
ednong
Posted: Tue Jul 13, 2004 04:00

Hallo,
das ein "Impressum" in Deutschland auch auf privaten Seiten Pflicht ist, ist strittig. Ebenso die Auslegung der verschiedensten Gesetze.

Es gibt dazu auch einige Artikel in der c't.

Leider ist man auch mit der Einstellung eines "Impressums" nicht immer auf der sicheren Seite.

Aber es ist gut zu sehen, da? es da etwas gibt, das ein solches zur Verf?gung stellt.

ed

Back to top
 
daniel
Posted: Mon Mar 12, 2007 21:20

In meiner _main.php (Skin: Custom) sieht der fragliche Abschnitt so aus:

PHP

<?php
    // -------------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------------
    // Note: you can customize any of the sub templates included here by
    // copying the matching php file into your skin directory.
    $current_skin_includes_path dirname(__FILE__).'/';
    // Call the dispatcher:
    require $skins_path.'_dispatch.inc.php';
    // --------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. ---------------
?>

Wo klemme ich da was genau hin? Mit dem oben vorgeschlagegen paar Zeilen klappt das leider nicht so richtig.

Ich nutze übrigens die Version 1.9.2

Gruß,
Daniel

Back to top
 
daniel
Posted: Mon Mar 12, 2007 22:33

Selbst wenn ich http://forums.b2evolution.net//viewtopic.php?t=9981 nutze bekomme ich folgendes:

PHP

Ein unerwarteter Fehler ist aufgetreten!
Wenn dieser Fehler weiterhin auftrittberichte ihn bitte an den Administrator.
 
Gehe zurück zur Startseite
 
Zusätzliche Informationen zu diesem Fehler:
Unhandled disp type [impressum]

Weis jemand Abhilfe? :(

Back to top
 
blueyed
Posted: Mon Mar 12, 2007 23:47

Dieser Fehler wird in /skins/_dispatch.inc.php "geworfen".

Du musst Deinen Handler zu der $disp_handlers-Liste dort hinzufügen, oder ihn in Deinem Skin schon abfangen (vor dem PHP-Block aus Deinem vorigen Eintrag).

zB

PHP

if( $disp == 'impressum' )
{
  echo '<h1>Impressum</h1> ....';
  // oder:
  require '/path/to/your/impressum';
}
else
{
    // -------------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. -------------- 
    // Note: you can customize any of the sub templates included here by 
    // copying the matching php file into your skin directory. 
    $current_skin_includes_path dirname(__FILE__).'/'
    // Call the dispatcher: 
    require $skins_path.'_dispatch.inc.php'
    // --------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------------- 
}
Back to top
 
daniel
Posted: Tue Mar 13, 2007 22:16

Jetzt klappt´s... danke!

Back to top
 
nureac
Posted: Wed Mar 14, 2007 16:13

Hallo (Daniel),

ich bin ganz neu dabei, benutze die 1.9.2. und habe die gleiche Frage wie Daniel sie schon zuvor gestellt hat:

In meiner _main.php (Skin: Custom) sieht der fragliche Abschnitt so aus:

PHP:
<?php
// -------------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------------
// Note: you can customize any of the sub templates included here by
// copying the matching php file into your skin directory.
$current_skin_includes_path = dirname(__FILE__).'/';
// Call the dispatcher:
require $skins_path.'_dispatch.inc.php';
// --------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. ---------------
?>

Wo klemme ich da was genau hin? Mit dem oben vorgeschlagegen paar Zeilen klappt das leider nicht so richtig.

Gruß nureac

Back to top
 
nureac
Posted: Wed Mar 14, 2007 19:13

Hat sich erledigt, danke.

Einfach Schritt für Schritt die Anleitung auf http://forums.b2evolution.net//viewtopic.php?t=9981 gefolgt und dann bei der _main.php wie schon oben erklärt folgendes gemacht:

PHP

if( $disp == 'impressum' )
{
  echo '<h1>Impressum</h1> ....';
  // oder:
  require '/path/to/your/impressum';
}
else
{
    // -------------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. -------------- 
    // Note: you can customize any of the sub templates included here by 
    // copying the matching php file into your skin directory. 
    $current_skin_includes_path dirname(__FILE__).'/'
    // Call the dispatcher: 
    require $skins_path.'_dispatch.inc.php'
    // --------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------------- 
}

Gruß nureac

Back to top
 
nureac
Posted: Thu Mar 15, 2007 17:14

Ich habe mit diesem Hack eine ganz nette Kontakt-Seite hinbekommen, indem ich Teile aus der contact.php mit der von kiesow vorgeschlagenen _impressum.php gemixt habe. Vorteil gegenüber der contact.php ist, dass dieses Kontaktformular den Stil des Blogs nutzt.

Hier der Inhalt meiner neuen _kontakt.php:

PHP

<?php
   /*
    * This is the template that displays an contactform for a blog
    *
    * This file is not meant to be called directly.
    * It is meant to be called by an include in the _main.php template.
    * To display the stats, you should call a stub AND pass the right parameters
    * For example: /blogs/index.php?disp=kontakt
    */
   if(substr(basename($_SERVER['SCRIPT_FILENAME']),0,1)=='_')
      die("Please, do not access this page directly.");
 
   if( $disp == 'kontakt' )
   { ?>
 
   <div class="bPost" lang="<?php the_lang() ?>">
   <div class="bText">
 
<?php
 
// The User ID of the Mainuser:
$recipient_id 3;
 
// Tie this to no blog in particular. (Do not include a link to any blog in the emails you will receive).
$blog 0;
 
// This is the page where we want to go after sending an email. (This page should be able to display $Messages)
// If empty, we will default to return to the same page, but you could put any URL here.
$redirect_to '';
 
    // ------------------------- MESSAGES GENERATED FROM ACTIONS -------------------------
    if( empty( $preview ) ) $Messages->disp( );
    // fp>> TODO: I think we should rather forget the messages here so they don't get displayed again. (this TODO pertains to skins actually)
    // --------------------------------- END OF MESSAGES ---------------------------------
?>
 
 
<?php
    // ----------------------------- MESSAGE FORM ----------------------------
    if( empty( $return ) )
    {    // We are *not* coming back after sending a message:
 
        if( empty( $redirect_to ) )
        {    // We haven't asked for a specific return URL, so we'll come back to here with a param.
            $redirect_to url_add_param$ReqURI'return=1''&' );
        }
 
        // The form, per se:
        require $skins_path.'_msgform.php';
    }
    else
    {    // We are coming back after sending a message:
 
        echo '<p>'.T_('Thank you for your message. I will reply as soon as possible.').'</p>';
 
        // This is useful for testing but does not really make sense on production:
        echo '<p><a href="'.regenerate_url().'">'.T_('Send another message?').'</a></p>';
    }
    // ------------------------- END OF MESSAGE FORM -------------------------
?>
 
</div></div>
 
 
   <div class="clear"></div>
 
   <?php
   }
?>

Kleines Problem, dass ich bisher noch nicht lösen konnte:
Nach dem Aufruf dieser Kontakt-Seite werden alle Kategorien von allen Blogs in der Sidebar angezeigt. Hat jemand eine Ahnung woran das liegen könnte?

Wenn euch der Code oben nicht gefällt oder ihr einen besseren Vorschlag für eine Kontaktseite habt, dann würde ich mich über Rückmeldung freuen.

Gruß nureac

Back to top
 
blueyed
Posted: Thu Mar 15, 2007 19:15

nureac wrote:

Kleines Problem, dass ich bisher noch nicht lösen konnte:
Nach dem Aufruf dieser Kontakt-Seite werden alle Kategorien von allen Blogs in der Sidebar angezeigt. Hat jemand eine Ahnung woran das liegen könnte?

Wahrscheinlich liegt das an $blog=0. Probier mal es am Ende Deines Skriptschnipsels entweder auf einen bestimmten Wert zu setzen, oder speichere den richtigen Wert, bevor es am Anfang auf 0 gesetzt wird und stelle diesen am Ende wieder her, oder entferne das $blog=0, dann hast Du aber auch Bloglinks in den E-Mails - was nicht unbedingt schlecht sein muss.

Back to top
 
nureac
Posted: Thu Mar 15, 2007 21:13

Es liegt an $blog=0. Ich habe es jetzt mal "kommentiert" und damit abgeschaltet. Die Kategorien stimmen wieder. Und Bloglinks in den E-Mails sind nicht schlecht.

Gruß nureac

Back to top
 
joachim
Posted: Sat Apr 14, 2007 22:15

Ich benutze das Skin Andrea01

Habe in der sidebar das eingebaut:

Code

<a href="<?php bloginfo('blogurl') ?>?disp=impressum">Impressum</a>

und weiter unten den code:

Code

<?php } // --------------------- END OF POSTS LOOP -------------------------- ?>
 
<p class="center"><strong>
<?php
// navigation links for multi-post pages
posts_nav_link();
// navigation links for single-post pages
previous_post( '%' ); // uses post title for %
next_post( '%' ); // uses post title for %
?>
</strong></p>
 
 
if( $disp == 'impressum' )
{
  echo '<h1>Impressum</h1> ....';
  // oder:
  require '_impressum.php';
}
else
{

dann erhalte ich den fehler:

if( $disp == 'impressum' ) { echo '
Impressum
....'; // oder: require '_impressum.php'; } else {
Ein unerwarteter Fehler ist aufgetreten!
Wenn dieser Fehler weiterhin auftritt, berichte ihn bitte an den Administrator.

Gehe zurück zur Startseite

Zusätzliche Informationen zu diesem Fehler:
Unhandled disp type [impressum]

was mache ich falsch?

Back to top
 
blueyed
Posted: Sun Apr 15, 2007 13:35

Vor dem "if( $disp == 'impressum' )" musst Du "PHP einschalten", indem Du den PHP-Block in "<?php ... ?>" packst.
Dieses "if( $disp ..." sollte gar nicht zum Browser gelangen, natürlich.

Back to top
 
joachim
Posted: Sun Apr 15, 2007 16:01

Hallo,

mein Code sieht jetzt so aus:

Code

<?php
if( $disp == 'impressum' )
{  
  require '_impressum.php';
}
?>

Impressum wird angezeigt, jedoch steht unten folgender Fehler:

Ein unerwarteter Fehler ist aufgetreten!
Wenn dieser Fehler weiterhin auftritt, berichte ihn bitte an den Administrator.

Gehe zurück zur Startseite

Zusätzliche Informationen zu diesem Fehler:
Unhandled disp type [impressum]

Woran liegt das jetzt noch?

Danke und Gruß
Joachim

Back to top
 
blueyed
Posted: Sun Apr 15, 2007 16:20

joachim wrote:

Ein unerwarteter Fehler ist aufgetreten!
Wenn dieser Fehler weiterhin auftritt, berichte ihn bitte an den Administrator.

Gehe zurück zur Startseite

Zusätzliche Informationen zu diesem Fehler:
Unhandled disp type [impressum]

Woran liegt das jetzt noch?

Irgendwo wird debug_die() aufgerufen - wahrscheinlich in dem Include, welches alle $disp-Types behandelt: dabei wird ein Fehler für unbekannte $disp-Werte geworfen.
Wahrscheinlich solltest Du nur diese Datei includen, wenn $disp nicht schon durch dich selber ("impressum") behandelt wurde.

Edit: Wer lesen kann ist klar im Vorteil: http://forums.b2evolution.net/viewtopic.php?p=52464#52464

Back to top
 
joachim
Posted: Sun Apr 15, 2007 16:34

du hast völlig recht! wer lesen kann ist im vorteil! es geht. vielen dank :D :D

Back to top
 
joachim
Posted: Tue Apr 17, 2007 21:57

Hallo,

einen habe ich noch :)
Ich will unter dem Impressum noch einen Link einbauen.

Wie muss dann der Code lauten?

Code

<?php
 
if( $disp == 'impressum' )
{
  
  require '_impressum.php';
}
else
{
 
 
WAS MUSS JETZT HIER REIN??
 
    // -------------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------------  
    // Note: you can customize any of the sub templates included here by  
    // copying the matching php file into your skin directory.  
    $current_skin_includes_path = dirname(__FILE__).'/';  
    // Call the dispatcher:  
    require $skins_path.'_dispatch.inc.php';  
    // --------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. ---------------  
}  
 
?>
Back to top
 
nureac
Posted: Thu Aug 9, 2007 15:31

Wahrscheinlich zu spät, aber vielleicht wird dies irgend Jemand von nutzen sein.

Wenn man zwei Links einfügen will, dann sieht der Code so aus:

Code

<?php
if( $disp == 'something1' )
   {
   require '_something1.php';
   }
elseif( $disp == 'something2' )
   {
   require '_something2.php';
   }
else
   {
// -------------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------------
// Note: you can customize any of the sub templates included here by
// copying the matching php file into your skin directory.
$current_skin_includes_path = dirname(__FILE__).'/';
// Call the dispatcher:
require $skins_path.'_dispatch.inc.php';
// --------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. ---------------
   }
?>

Und nicht vergessen, dass man in den Dateien
inc/misc/_template.funcs.php
inc/MODEL/collections/_blog.class.php
skins/_dispatch.inc.php
nicht nur den Code für something1, sondern auch für something 2 angeben muss.

Gruß nureac

Back to top
 
daniel
Posted: Thu Aug 9, 2007 16:55

nureac wrote:

Und nicht vergessen, dass man in den Dateien
inc/misc/_template.funcs.php
inc/MODEL/collections/_blog.class.php
skins/_dispatch.inc.php
nicht nur den Code für something1, sondern auch für something 2 angeben muss.

Das ist mir neu... bei mir (v1.9.2) funktioniert´s auch, wenn ich nur meine _main.php editiere und am core nicht rumspiele... Wofür soll das also gut sein?

Back to top
 
johannl
Posted: Mon Aug 13, 2007 13:59

ednong wrote:

Hallo,
das ein "Impressum" in Deutschland auch auf privaten Seiten Pflicht ist, ist strittig. Ebenso die Auslegung der verschiedensten Gesetze.

Was ist denn "in Deutschland"? Deutsche Seiten auf einen sich in Deutschland befindlichem Server, oder Seiten jeglicher Sprache auf deutschem Boden?

Da in meinem Fall die URL meinen vollen Namen enthält, sehe ich erstmal davon ab.. wer sich nicht denken kann, daß hinter johann-lau.de Johann Lau steckt, dem bringt doch auch ein Impressum nix. Und *jede* an diese Domain geschickte E-Mail kommt bei mir an, es müßte also leicht zu unterscheiden sein, ob jemand nur Streß machen will, oder wirklich wissen muß, wer verantwortlich ist (z.b. weil ich ein Copyright verletzt habe). Wenn sich irgendwelche völlig unbeteiligten Fuzzis da ein paar leichte Mark verdienen wollen, wäre es mir sicherlich mehr als das dreifache noch obendrauf wert, denen den Spaß daran zu verderben. [url=http://www.freiheit-statt-angst.de/]Freiheit statt Angst![/url]

Mal realistisch: wer unter falschem Namen Unwahrheiten in Umlauf bringen will, kann das das einfach auf irgendeinem kostenlosen Webspace im Ausland machen, mit Proxy und allem drum und dran. Eine Impressumspflicht juckt die doch nicht! Andererseits könnte es eine Menge Leute abschrecken, ihre (völlig "legale") Meinung frei kundzutun, wenn sie dafür jedesmal ihre Telefonnummer und Schuhgröße mit angeben müssen. Natürlich muß es für alles letztlich einen Verantwortlichen geben, aber das ist doch schon gegeben: notfalls rufen die meinen Webspace-Provider an und der sagt denen ("die" wären in dem Fall solche, die es auch was angeht, nämlich Strafverfolgungsbehörden usw., nicht Hinz und Kunz), wer ich bin. Das reicht doch, und deshalb riecht das für mich mehr nach Einschüchterung als nach Notwendigkeit.

Selbst es völlig unstrittig wäre - dann ist es eben ein Fall für zivilen Ungehorsam, oder wenigstens für eine vernünftigen Diskussion... einfach kuschen ohne nachzufragen läuft nicht. Selbst wenn ich in meinem Fall "dazu stehe", würde ich nicht all die anonymen und zum Nachdenken anregenden Posts im Internet missen mögen.

Es gibt dazu auch einige Artikel in der c't.

Aber gibt's auch welche im Netz?

Leider ist man auch mit der Einstellung eines "Impressums" nicht immer auf der sicheren Seite.

Und das heißt?

Back to top
 
nureac
Posted: Fri Aug 17, 2007 00:49

@Daniel: Der Eintrag in inc/misc/_template.funcs.php hat etwas mit dem Titel der Seite zu tun, der in inc/MODEL/collections/_blog.class.php etwas mit der Verwendung der richtigen CSS, wenn mehrere CSS zur verfügung stehen. Der Eintrag in skins/_dispatch.inc.php hat etwas mit der Zuordnung von der Variablen "something" zu der datei "something.php" zu tun.
Glaube ich zumindest. Wenn alles bei dir funtioniert, dann ist es ja gut. Für den Fall, dass es mal nicht funktioniert, würde ich die Änderungen in den Dateien nachtragen.

Back to top
 
daniel
Posted: Fri Aug 17, 2007 16:51

Hmmm, ok... hört sich sinnvoll an... die Headline im Browser ist auf allen meinen auf diese Weise aufgerufenen Seiten gleich... nureac, könntest du evtl. noch die Positionen angeben, wo man die Files editieren sollte, oder ggf. sogar jeweils ein kurzes Beipspiel hier posten?

DANKE!

Back to top
 
nureac
Posted: Mon Aug 20, 2007 19:42

Original Hack ist von EdB und findet sich [url=http://forums.b2evolution.net//viewtopic.php?t=9981]hier[/url].

#######################################
##### Schritt 1: Sicherheit geht vor !!! ############
#######################################

Bevor man damit beginnt Kern-Dateien von b2evolution zu ändern, sollte man immer die folgenden drei Schritte zur Sicherung unternehmen:

1. Eine Kopie der Originaldatei machen und sie z.B. orig_name.php nennen. ("name" ist hierbei der Name der Originaldatei)
2. Eine Sicherungskopie der Datenbank (z.B. mit phpMyAdmin) anlegen und an einem sicheren Ort speichern. (Zwar wird in diesem Hack keine Änderung in der Datenbank vorgenommen, doch ist eine regelmäßige Sicherung der Datenbank immer ein guter Rat)
3. Jede Änderung an den Kern-Dateien in einer Textdatei protokollieren, damit man immer wieder nachschauen kann, was man geändert hat. Hilft auch dann, wenn man die b2evolution Updaten und die Änderungen in die neuen Dateien übertragen will :)

Um all dies gut zu organisieren, habe ich mir auf meinem Rechner ein Verzeichnis "Blog" angelegt. In diesem befindet sich das Änderungsprotokoll, bei mir schlicht protokoll.txt genannt, und drei Unterordner. Der erste Unterordner heißt "Backup" und beinhaltet die unveränderten Kopien von den Original-Kern-Dateien, welche ich später geändert habe. Diese Dateien liegen jeweils am selben Ort wie auf meinen Server, d.h. dass die Datei inc/_misc/_template.funcs.php im Ordner "_misc", welches ein Unterordner von dem Ordner "inc" ist, liegt. Dadurch bleibt alles schön übersichtlich. Außerdem gibt es neben diesen Dateien noch ein Ordner "0_Datenbank", in dem ich regelmäßig Sicherungen der Datenbank speicher.
Dann habe ich unter "Blog" und neben "Backup" noch "Daten" und "htdocs". In "Daten" bewahre ich einige Account-Daten meines Blogs auf und in "htdocs" habe ich alle von mir geänderten Dateien (diesmal mit den Änderungen), auch genauso organisiert wie "Backup".

#######################################
##### Schritt 2: Dateien ######################
#######################################

Folgende Dateien müssen bearbeitet werden:
inc/_misc/_template.funcs.php
inc/MODEL/collections/_blog.class.php
skins/_dispatch.inc.php
skins/dein_skin/_main.php

Folgende Datei muss erstellt werden:
skins/dein_skin/_impressum.php

#######################################
##### Schritt 3: Kern-Dateien bearbeiten ##########
#######################################

TIP: Zum Bearbeiten einen HTML-Editor benutzen. (Z.B. [url=http://www.qhaut.de/forums/index.php?automodule=downloads&cmd=viewcat&cat_id=1]Phase 5[/url])

NOTIZ: Die hier angegebene Beschreibung (Zeilen und Code) entsprechen den Dateien in Version 1.10.2.

Öffne inc/_misc/_template.funcs.php

Finde (ca. Zeile 92)

PHP

case 'msgform':
          // We are requesting the message form:
          $r[] = T_('Send an email message');
          break;
 
     case 'single':
          // We are displaying a single message:

Ersetze mit

PHP

case 'msgform':
          // We are requesting the message form:
          $r[] = T_('Send an email message');
          break;
 
     // MOD START Add a disp=impressum page
     case 'impressum':
          // We are requesting the impressum page:
          $r[] = T_('Impressum');
          break;
     // MOD END Add a disp=impressum page
 
     case 'single':
          // We are displaying a single message:

Öffne inc/MODEL/collections/_blog.class.php

Finde (ca. Zeile 772)

PHP

case 'user_css':
          if( $this->allowusercss
               && isset( $current_User )
               && file_exists$current_User->get_media_dir(false).'style.css' ) )
          {
               return '<link rel="stylesheet" href="'.$current_User->get_media_url().'style.css" type="text/css" />';
          }
          else
          {
               return '';
          }
 
     default:
          // All other params:
          return parent::get$parname );

Ersetze mit

PHP

case 'user_css':
          if( $this->allowusercss
               && isset( $current_User )
               && file_exists$current_User->get_media_dir(false).'style.css' ) )
          {
               return '<link rel="stylesheet" href="'.$current_User->get_media_url().'style.css" type="text/css" />';
          }
          else
          {
               return '';
          }
 
          // MOD START Add a disp=impressum page
          case 'impressum':
               return url_add_param$this->gen_blogurl'default' ), 'disp=impressum' );
          // MOD END Add a disp=impressum page
 
     default:
          // All other params:
          return parent::get$parname );

Öffne skins/_dispatch.inc.php
(Achtung: die folgende Liste sollte alphabetisch geordnet bleiben)

Finde (ca. Zeile 16)

PHP

if( $disp != 'posts' && $disp != 'single' )
// We must display a sub template:
     $disp_handlers array(
               'arcdir'   => '_arcdir.php',
               'comments' => '_lastcomments.php',
               'msgform'  => '_msgform.php',
               'profile'  => '_profile.php',
               'subs'     => '_subscriptions.php',
        );

Ersetze mit

PHP

if( $disp != 'posts' && $disp != 'single' )
// We must display a sub template:
     $disp_handlers array(
               'arcdir'   => '_arcdir.php',
               'comments' => '_lastcomments.php',
               'impressum' => '_impressum.php',
               'msgform'  => '_msgform.php',
               'profile'  => '_profile.php',
               'subs'     => '_subscriptions.php',
        );

#######################################
##### Schritt 4: Skin-Dateien bearbeiten ##########
#######################################

Öffne skins/dein_skin/_main.php

Finde (Ort variiert nach Skin)

PHP

<?php // -------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------
$current_skin_includes_path dirname(__FILE__).'/';
// Call the dispatcher:
require $skins_path.'_dispatch.inc.php';
// -------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. ------- ?>

Ersetze mit

PHP

<?php
// MOD START Add a disp=impressum page
if( $disp == 'impressum' )
     {
     require '_impressum.php';
     }
else
     {
// MOD END Add a disp=impressum page, außerdem noch schließende Klammer
// -------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------
$current_skin_includes_path dirname(__FILE__).'/';
// Call the dispatcher:
require $skins_path.'_dispatch.inc.php';
// -------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. -------
     }
?>

Weiterhin immer noch in skins/dein_skin/_main.php
(Jetzt wird der Impressum-Link eingebaut. Dieser kann auch an anderer Stelle eingebaut werden. Dann jedoch den HTML-Code (<li>...</li>) entsprechend ändern oder weglassen.)

Finde (Ort variiert nach Skin)

PHP

<h3><?php echo T_('Misc'?></h3>
<ul>
<?php
user_login_link'<li>''</li>' );
user_register_link'<li>''</li>' );
user_admin_link'<li>''</li>' );
user_profile_link'<li>''</li>' );
user_subs_link'<li>''</li>' );
user_logout_link'<li>''</li>' );
?>
</ul>

Ersetze mit

PHP

<h3><?php echo T_('Misc'?></h3>
<ul>
<?php
user_login_link'<li>''</li>' );
user_register_link'<li>''</li>' );
user_admin_link'<li>''</li>' );
user_profile_link'<li>''</li>' );
user_subs_link'<li>''</li>' );
user_logout_link'<li>''</li>' );
?>
<?php // MOD START Add a disp=impressum page ?>
<li><a href="<?php $Blog->disp'impressum''raw' ?>" title="Impressum"><?php echo T_('Impressum'?></a></li>
<?php // MOD END Add a disp=impressum page ?>
</ul>

#######################################
##### Schritt 5: _impressum.php anlegen ##########
#######################################

Anlegen der Datei _impressum.php in Ordner skins/dein_skin/
mit folgenden Inhalt (Text muss noch entsprechend bearbeitet werden)

PHP

<?php
/*
* This is the template that displays an impressum for a blog
*
* This file is not meant to be called directly.
* It is meant to be called by an include in the _main.php template.
* To display the stats, you should call a stub AND pass the right parameters
* For example: /blogs/index.php?disp=impressum
*/
 
if(substr(basename($_SERVER['SCRIPT_FILENAME']),0,1)=='_')
     die("Please, do not access this page directly.");
 
if( $disp == 'impressum' )
     { ?>
 
<div class="bPost" lang="<?php the_lang() ?>">
<div class="bText">
Gemäß § 28 BDSG wird jeder kommerziellen Verwendung und Weitergabe von Personen und Kontaktdaten wiedersprochen.<br>
<br>
<table>
<tr><td valign="top"><b>Verantwortungsbereich:</b></td>
<td>Das Impressum gilt nur für die Internetpräsenz unter den folgenden Adressen: http://domain.de und Subdomains in Form von http://sub.domain.de</td></tr>
<tr><td valign="top"><b>V.i.S.d.P.:</b></td><td>Name, Straße, Ort</td></tr>
<tr><td valign="top"><b>Kontakt:</b></td><td>Info [at] Domain [punkt] de</td></tr>
</table><br>
<div align="center"><h3>Haftungsausschluss:</h3></div>
<h4>1. Inhalt des Onlineangebotes</h4>
<p align="justify">Text</p>
 
<h4>2. Verweise und Links</h4>
<p align="justify">Text</p>
 
<h4>3. Urheber- und Kennzeichenrecht</h4>
<p align="justify">Text</p>
 
<h4>4. Datenschutz</h4>
<p align="justify">Text</p>
 
<h4>5. Rechtswirksamkeit dieses Haftungsausschlusses</h4>
<p align="justify">Text</p>
<br>
 
 
<div align="center"><h3>Hinweise:</h3></div>
 
<h4>RSS-Feeds:</h4>
<p align="justify">Text</p>
 
<h4>Rechtsverletzung:</h4>
<p align="justify">Text</p>
 
<h4>Werbung:</h4>
<p align="justify">Text</p>
 
<h4>AutorInnen:</h4>
<p align="justify">Text</p>
 
</div></div>
 
<div class="clear"></div>
 
<?php
}
?>

#######################################
##### Optional Schritt 6: _something.php hinzufügen ##
#######################################

Will man noch eine weitere Extra-Seite hinzufügen (z.B. eine Kontakt-Seite wie in diesem Thread besprochen), dann ist es notwenig dafür die oben aufgelisteten Schritte alle nochmal zu wiederholen und die entsprechenden Hacks für die _something.php einzutragen. Nur eine Sache ist anders:

Der entsprechende Eintrag in der skins/dein_skin/_main.php sieht dann so aus:

PHP

<?php
// MOD START Add a disp=impressum and disp=something page
if( $disp == 'impressum' )
   {
   require '_impressum.php';
   }
elseif( $disp == 'something' )
   {
   require '_something.php';
   }
else
   {
// MOD END Add a disp=impressum and disp=something page, außerdem noch schließende Klammer
// -------- START OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. --------
$current_skin_includes_path dirname(__FILE__).'/';
// Call the dispatcher:
require $skins_path.'_dispatch.inc.php';
// -------------- END OF INCLUDES FOR LAST COMMENTS, MY PROFILE, ETC. -------
     }
?>

Gruß nureac
(PS: Danke nochmal an EdB für diesen Hack!)

Back to top
 
nureac
Posted: Mon Aug 20, 2007 20:04

Mittlerweile gibt es das ganze auch als Plugin von Stefan Hummert. Es nennt sich "custom page"-Plugin und wurde mit 1.10.2 getestet. Beschreibung findet sich [url=http://www.donneker.de/projects/b2evolution-plugin-custom_page]hier[/url]. Bisher hat es jedoch nur drei Sterne. Hat jemand damit Erfahrungen gemacht?

Gruß nureac

Back to top
 
daniel
Posted: Mon Aug 20, 2007 20:31

...und ggf. auch für b2evo v1.9.2 getestet ;)

Back to top
 
mariaespana
Posted: Mon Jul 19, 2010 23:35

Ist das auch für 3.3. noch akut oder gibt es was besseres?

Back to top
 
dmuenchnerin
Posted: Sun Jul 22, 2012 16:38

Ich benutze Version 3.3.1 für meine Internetzeitung www.glockenbach-kurier.de.
Das Impressum habe ich im Blog "Redaktion" in einer eigenen Kategorie als normalen Beitrag verfaßt und - damit es immer sichtbar ist - als Link in einer zusätzlichen Menüzeile oberhalb des Zeitungslogos (header) eingefügt.
Alternativ könnte man den Link auch auf der Startseite mittels Widget (reines HTML) in die rechte oder linke Seitenleiste einfügen. Ich denke, das ist der einfachste Weg, ohne in php-Dateien herumfummeln zu müssen.

Grüße
Karin

Back to top