Author Topic: Eine Seite ohne die Sidebar erstellen (Block 2)  (Read 1249 times)

Offline imebro

  • Posts: 748
Eine Seite ohne die Sidebar erstellen (Block 2)
« on: June 01, 2018, 01:57:51 PM »
Hallo mal wieder  :-D

Nachdem gestern eine Menge Probleme mit dem Update von WB 2.8.3 auf 2.11 gelöst werden konnten, gehts jetzt nochmal ans Feintuning.

Ich habe nun eine extra Seite erstellt mit dem Namen "Datenschutz".
Auf dieser Seite möchte ich gerne die Sidebar entfernen.
Die Sidebar ist in der info.php im Block 2 eingetragen und in der index.php mit folgendem Code:

Code: [Select]
<div id="sidebar">
   <?php page_content(2); ?> 
   [[Sidebar]]

Was muss ich tun, um die Datenschutzseite ohne Sidebar anzeigen zu können?

Ich dachte schon mal, dass es ggf. über eine Klasse in der screen.css gehen könnte...  :roll:

Und noch eine kleine Frage zum Abschluß:
Muss/sollte ich in der info.php den folgenden Code auch anpassen? Ich nutze ja jetzt die Version 2.11

Code: [Select]
$template_version       = '2.8';
$template_platform      = '2.8.3';

Danke und Gruß,
imebro

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8391
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: Eine Seite ohne die Sidebar erstellen (Block 2)
« Reply #1 on: June 01, 2018, 03:29:56 PM »
Hallo,

erstelle aus deinem Template ein zweites Template ohne Sidebar und weise der Seite mit der Datenschutzerklärun g dieses Template zu.

Gruß
Matthias

Offline imebro

  • Posts: 748
Re: Eine Seite ohne die Sidebar erstellen (Block 2)
« Reply #2 on: June 01, 2018, 03:40:06 PM »
Danke Dir Matthias.

So würde es gehen. Mal schauen, ob ich den Aufwand dann mache.

Was sagst Du zu meiner 2. Frage bezgl. info.php?

LG
imebro

Offline dbs

  • Betatester
  • **
  • Posts: 8039
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Eine Seite ohne die Sidebar erstellen (Block 2)
« Reply #3 on: June 01, 2018, 04:06:32 PM »
info.php musst du nicht ändern.
Wenn du selbst ein Template erstellst und du weißt es funktioniert nur mit 2.11 und neuer, dann kannst du die 2.11 reinschreiben.

Offline imebro

  • Posts: 748
Re: Eine Seite ohne die Sidebar erstellen (Block 2)
« Reply #4 on: June 01, 2018, 04:52:45 PM »
OK, danke Dir dbs  (Y)

LG
imebro

Offline msfrog

  • Posts: 58
Re: Eine Seite ohne die Sidebar erstellen (Block 2)
« Reply #5 on: June 29, 2018, 09:23:00 AM »
Hallo imebro,
das geht viiiiiieeeeeel einfacher als mit einem 2. Template. :)

Wenns nur für eine einzelne Seite sein soll, würde ich das mit einer if-Abfrage machen und auf die Page-ID prüfen. Bei dir könnte das dann so aussehen:

Code: [Select]
<?php if (PAGE_ID != X) { ?>
<div id="sidebar">
   <?php page_content(2); ?>
   [[Sidebar]]
</div>
<?php ?>

Statt X musst du die Page-ID deiner Datenschutzseite angeben. Der gesamte Code für die Sidebar wird dann bei der DS-Seite ignoriert, lediglich bei den anderen erscheint die Sidebar.

Wenn du mehrere Seiten ohne Sidebar willst, geht das auch. In dem Fall muss geprüft werden, ob der Block vorhanden ist bzw. ob er einen Inhalt hat. Das ist aber bisschen mehr Aufwand.

Viele Grüße
Carsten

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3026
  • Gender: Female
Re: Eine Seite ohne die Sidebar erstellen (Block 2)
« Reply #6 on: June 29, 2018, 10:28:38 AM »
Zwei recht einfache Lösungen, die global für alle Seiten benutzt werden können:
Enthält ein Block keinen aktiven Abschnitt(section), so wird er nicht angezeigt.
Damit lässt sich ohne Codeänderung im Template die Anzeige eines Blockes direkt im Backend aus der Seitenverwaltung heraus steuern.
Einfach dem Block keinen Abschnitt zuweisen, oder einen vorhandenen Abschnitt per Veröffentlichungsda tum ausblenden.
Code: [Select]
<?php 
ob_start
();
page_content(2); 
$sBlock trim(ob_get_clean());
if (
$sBlock) { ?>

<div id="sidebar">
    <?php echo $sBlock?>
    [[Sidebar]]
</div>
<?php ?>
Code: [Select]
<?php
$iBlock 
2;
$sql 'SELECT COUNT(*) FROM `wb_sections` '
     
'WHERE `page_id`='.PAGE_ID.' AND `block`='.$iBlock.' '
     
'AND UNIX_TIMESTAMP() BETWEEN `publ_start` AND `publ_end`';
if (
$GLOBALS['database']->get_one($sql)) { ?>

<div id="sidebar">
    <?php page_content($iBlock); ?>
    [[Sidebar]]
</div>
<?php ?>

Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

 

postern-length