Überschrift in der Kategorieliste
Hallo,
ich habe in der Seitenleiste meines Blogs einige Kategorien verlinkt. Wenn ich einen Link aufrufe, werden wie gewollt alle Artikel der Kategorie angezeigt.
Beispiel:
https://www.velo-traveller.de/category/ ... negal-2018
Nun suche ich nach einer Möglichkeit, auf dieser Seite eine h1-Überschrift, die aus dem Kategorienamen automatisch erzeugt wird, anzuzeigen.
Ist das machbar?
Auch in dem Pluigin "Kategorien" habe ich keine Einstellungsmöglichkeit gefunden.
Gruß, Calle
ich habe in der Seitenleiste meines Blogs einige Kategorien verlinkt. Wenn ich einen Link aufrufe, werden wie gewollt alle Artikel der Kategorie angezeigt.
Beispiel:
https://www.velo-traveller.de/category/ ... negal-2018
Nun suche ich nach einer Möglichkeit, auf dieser Seite eine h1-Überschrift, die aus dem Kategorienamen automatisch erzeugt wird, anzuzeigen.
Ist das machbar?
Auch in dem Pluigin "Kategorien" habe ich keine Einstellungsmöglichkeit gefunden.
Gruß, Calle
Stand vor dem gleichen Problem und habe in der index.php des Themes die Abfrage um category ergänzt:
Im Verzeichnis php dann eine Kopie der page.php als category.php erstellt und nach
und vor
folgendes eingefügt:
Code: Select all
<!-- Content -->
<?php
// $WHERE_AM_I variable detect where the user is browsing
// If the user is watching a particular page the variable takes the value "page"
// If the user is watching the frontpage the variable takes the value "home"
if ($WHERE_AM_I == 'page') {
include(THEME_DIR_PHP.'page.php');
} elseif ($WHERE_AM_I == 'home') {
include(THEME_DIR_PHP.'home.php');
} elseif ($WHERE_AM_I == 'category') {
include(THEME_DIR_PHP.'category.php');
} else {
include(THEME_DIR_PHP.'home.php');
}
?>
Code: Select all
<!-- Begin Post -->
Code: Select all
<!-- Begin Content -->
Code: Select all
<?php
// Get the category key from the URL
$categoryKey = $url->slug();
// Create the Category-Object
$category = new Category($categoryKey);
// Print the category name
echo '<h1>'.$category->name().'</h1>';
// Print the category description
echo '<div>'.$category->description().'</div>';
?>
Vielen Dank für die Antwort.
Leider hat es nicht gut funktioniert. Nach dem Einsetzen der
Werden die Inhalte der Startseite doppelt angezeigt. Die h1-Überschrift wird auf der Kategorieliste zwar angezeigt, aber auch dort ist dann das Layout "zerschossen".
Gruß, Calle
Leider hat es nicht gut funktioniert. Nach dem Einsetzen der
Code: Select all
if ($WHERE_AM_I == 'page') {
include(THEME_DIR_PHP.'page.php');
} elseif ($WHERE_AM_I == 'home') {
include(THEME_DIR_PHP.'home.php');
} elseif ($WHERE_AM_I == 'category') {
include(THEME_DIR_PHP.'category.php');
} else {
include(THEME_DIR_PHP.'home.php');
}
Gruß, Calle
-
- Master Bludit
- Posts: 129
- Joined: Fri Jan 15, 2016 6:07 pm
- Has thanked: 1 time
- Been thanked: 3 times
Hast du die Seite page.php und category.php erstellt?velotrav wrote: ↑Tue Mar 12, 2024 12:41 pm Vielen Dank für die Antwort.
Leider hat es nicht gut funktioniert. Nach dem Einsetzen derWerden die Inhalte der Startseite doppelt angezeigt. Die h1-Überschrift wird auf der Kategorieliste zwar angezeigt, aber auch dort ist dann das Layout "zerschossen".Code: Select all
if ($WHERE_AM_I == 'page') { include(THEME_DIR_PHP.'page.php'); } elseif ($WHERE_AM_I == 'home') { include(THEME_DIR_PHP.'home.php'); } elseif ($WHERE_AM_I == 'category') { include(THEME_DIR_PHP.'category.php'); } else { include(THEME_DIR_PHP.'home.php'); }
Gruß, Calle
Ja, gemäß des Tip von wjar habe ich zum einen die DateiHast du die Seite page.php und category.php erstellt?
bludit/bl-themes/blogx/index.php editiert (blogx ist mein Template)
und dann eine Kopie von:
bludit/bl-themes/blogx/php/page.php erstellt und in category.php umbenannt und ebenfalls editiert.
Ich nutze die Bludit-Version 3.15.0
Den Fehler der doppelten Anzeige sowie Layoutprobleme auf der Startseite konnte ich nun beheben. Ich hatte den Code nicht sauber eingefügt.
In der Kategorieliste wird nun die h1-Überschrift und die category description angezeigt.
Leider wird in der Kategorieliste nur der jeweils erste Beitrag ohne Weiterlesen-Link angezeigt.
Vermutlich befindet sich das Problem im Code der index.php, denn wenn ich dort den "alten" Code wieder einsetze, habe ich das Problem nicht. Allerdings auch keine h1-Überschrift in der Kategorieliste.
Meine PHP-Kenntnisse sind allerdings dürftig und ich bewege mich da in einem unsicheren Terrain.
Ich poste an dieser Stelle mal index.php, vielleicht sieht jemand mit mehr Kenntnissen den Fehler.
![Embarrassed :oops:](./images/smilies/icon_redface.gif)
In der Kategorieliste wird nun die h1-Überschrift und die category description angezeigt.
Leider wird in der Kategorieliste nur der jeweils erste Beitrag ohne Weiterlesen-Link angezeigt.
Vermutlich befindet sich das Problem im Code der index.php, denn wenn ich dort den "alten" Code wieder einsetze, habe ich das Problem nicht. Allerdings auch keine h1-Überschrift in der Kategorieliste.
Meine PHP-Kenntnisse sind allerdings dürftig und ich bewege mich da in einem unsicheren Terrain.
Ich poste an dieser Stelle mal index.php, vielleicht sieht jemand mit mehr Kenntnissen den Fehler.
<!DOCTYPE html>
<html lang="<?php echo Theme::lang() ?>">
<head>
<?php include(THEME_DIR_PHP.'head.php'); ?>
</head>
<body>
<!-- Load Bludit Plugins: Site Body Begin -->
<?php Theme::plugins('siteBodyBegin'); ?>
<!-- Navbar -->
<?php include(THEME_DIR_PHP.'navbar.php'); ?>
<!-- Content -->
<div class="container">
<div class="row">
<!-- Blog Posts -->
<div class="col-md-9">
<?php
// Bludit content are pages
// But if you order the content by date
// These pages works as posts
// $WHERE_AM_I variable detect where the user is browsing
// If the user is watching a particular page the variable takes the value "page"
// If the user is watching the frontpage the variable takes the value "home"
if ($WHERE_AM_I == 'page') {
include(THEME_DIR_PHP.'page.php');
} elseif ($WHERE_AM_I == 'home') {
include(THEME_DIR_PHP.'home.php');
} elseif ($WHERE_AM_I == 'category') {
include(THEME_DIR_PHP.'category.php');
} else {
include(THEME_DIR_PHP.'home.php');
}
?>
</div>
<!-- Right Sidebar -->
<div class="col-md-3">
<?php include(THEME_DIR_PHP.'sidebar.php'); ?>
</div>
</div>
</div>
Sorry, das ist alles schon länger her, ich nutze auch ein anderes Theme und liste nur die Beiträge einer Kategorie auf, daher brachte Dich der Tipp nur die halbe Strecke weit.
Für das Theme Blogx bitte die category.php aus einer Kopie der home.php erstellen. Den Code für die h1
dann vor
einsetzen. Habe es auf meinem lokalen Testsystem ausprobiert und es hat funktioniert.
Für das Theme Blogx bitte die category.php aus einer Kopie der home.php erstellen. Den Code für die h1
Code: Select all
<?php
// Get the category key from the URL
$categoryKey = $url->slug();
// Create the Category-Object
$category = new Category($categoryKey);
// Print the category name
echo '<h1 class="posttitle">'.$category->name().'</h1>';
// Print the category description
echo '<div class="wrapfooter">'.$category->description().'</div>';
?>
Code: Select all
<?php foreach ($content as $page) : ?>
Vielen Dank für Deine Mühe.Habe es auf meinem lokalen Testsystem ausprobiert und es hat funktioniert.
Bei mir funktioniert es auch und sieht so aus, wie ich es mir gewünscht habe.
Nochmals vielen Dank.
Gruß, Calle