div-class auf bestimmten Seiten ein-/ausblenden?
Ich möchte gerne mit einem php-script das die div-Box Info nur auf der Seite index.php angezeigt wird und auf allen anderen Seiten ausgeblendet wird. Wiederum möchte ich die box Breadcrumbs auf allen Seiten angezeigt haben, außer auf der index.php Seite, wie bekommen man sowas hin?
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
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>
Ich nehme lieber den php script. Kannst du mir da auch weiterhelfen?
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.
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;
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?