div-class auf bestimmten Seiten ein-/ausblenden?

3 Antworten

Normalwerweise hat jede Webseite einen eigenen PHP-Code. In diesem Fall kann man HTML-Elemente, die auf der entsprechenden Seite nicht sichtbar sein sollen, einfach im Code weglassen.

Erzeugt ein einziges PHP-Script verschiedene Webseiten, kann man in PHP den Namen der aktuelle Seite ermitteln und dann per if-Abfrage bestimmte HTML-Elemente weglassen bzw. hinzufügen.

$site_name = $_SERVER['REQUEST_URI'];

if ( strcmp ( $site_name, 'index.php' ) == 0 )
{
  // es handelt sich um die Seite index.php
}
else
{
  // es handelt sich nicht um die Seite index.php
}

Um mit PHP HTML-Code einzufügen, nutzt man die Funktion echo()

https://www.php.net/manual/de/function.echo.php

oder beendet PHP mit der Zeichenfolge ?>, fügt den HTML-Code direkt in das Script ein und startet danach PHP wieder mit der Zeichenfolge <?php, also z.B.

echo ( '<div class="test"> ... </div>' );

oder 

?>
<div class="test"> ... </div>
<?php
 

Anonym932039 
Beitragsersteller
 21.03.2021, 11:59

Vielen Dank. Also bei if kommt das rein, was nicht angezeigt werden soll, richtig? Und bei else dann was angezeigt werden soll? Und wie füge ich dort nun eine div-class ein?

0
div-class auf bestimmten Seiten ein-/ausblenden?

stylesheet.css:

div#info {
   display:none
   }

#index div#info,
#index div#breadcrumb {
   display:block;
   }

index.php:

<!doctype html>
<title>index</title>
<body id="index">
<div id="breadcrumb">hello breadcrumbs</div>
<div id="info">hello info</div>
</body>

alle andere Seiten:

<!doctype html>
<title>index</title>
<body>
<div id="breadcrumb">hello breadcrumbs</div>
<div id="info">hello info</div>
</body>

Alex

per css kannst du auf jeder seite welche du das div nicht willst ausblenden. Breadcrums das gleiche. Oder mit einem Php script mit if funktion.

Dabei musst du die Url abfragen und vergleichen. Ind das css per echo Ausgeben wenn es übereinstimmt.

<style>
.deineClasseInfobox{
display:none;
}
</style>

Anonym932039 
Beitragsersteller
 21.03.2021, 09:53

Ich nehme lieber den php script. Kannst du mir da auch weiterhelfen?

0
kleinschwendi  21.03.2021, 10:16
@Anonym932039

Ja. Aber am Smartphone ist es nicht so toll codes zu schreiben.

Mach so:

Aktuelle url in eine variable speichern. Deine url mit der index.php in eine variable speichern. Das css in eine variable speichern. Danach musst du nurnoch mit dem IF vergleichen ob die die aktuelle url mit der gespeicherten übereinstimmt. Wenn ja dann echo variable-mit-css.

0
showgirl1  21.03.2021, 11:45
@Anonym932039

Dann lasse doch einfach beim generieren der HTML Elemente im PHP die betreffenden DIVs weg. Ganz einfach eine IF Anweisung und gut. Oder Wenn du die Elemente im DOM brauchst dann ergänze im Element ein inline Style mit display: none;

0