"Fixierte Seiten" werden automatisch als "Startseite" angezeigt -> wie deaktivieren?

Post Reply
Hyknuf
Sr. Bludit
Posts: 37
Joined: Fri Feb 05, 2021 2:56 pm

Hi Zusammen,

Ich nutze Theme Massively, und möchte die Datenschutzerklärung + Impressum aus der Menüleiste entfernen. Das gewünschte Ergebnis erreiche ich, wenn ich diese beiden Seiten als "fixiert" markiere.
Allerdings packt mir das Theme dann automatisch diese beiden Seiten als Beiträge auf meine Start/Hauptseite.

Ich finde leider die Codestelle nicht, wo ich das deaktivieren kann. Kann mir hierzu jemand einen Rat geben?

Nochmal kurz zusammen gefasst: Fixierte Seiten sollen nicht automatisch als "featured post" behandelt werden.

(siehe auch Screenshot)

Vielen Dank!
Attachments
2021-02-10_08-35.png
2021-02-10_08-35.png (27.71 KiB) Viewed 1028 times
User avatar
Edi
Site Admin
Posts: 2551
Joined: Sun Aug 09, 2015 5:01 pm
Location: Zurich
Contact:

Verwendest Du auch "Seiten" für einen Blog?
Image
Hyknuf
Sr. Bludit
Posts: 37
Joined: Fri Feb 05, 2021 2:56 pm

Nein, ich nutze "Seiten" derzeit etwas zweckentfremdet als statische Landing-Page. Das ist (wie ich vermute) jedoch so nicht gedacht? Die Code-Stelle, wo ich die Landing-page auf eine "statische Seite" verlinken kann, habe ich nicht gefunden.

Nachtrag: Ich habe gerade diesen Thread hier gefunden:

viewtopic.php?f=20&t=1706

der mich allerdings leider nicht ganz weiterbringt, da dann "Home" aus dem Menü auch als Überschrift im "main" steht. Das ist auf der Startseite suboptimal leider.

GIbt es denn ein konkretes Code-Snippet das "fixierte" Seiten zur "Hauptseite" hinzufügt welches ich herausnehmen könnte?
User avatar
Edi
Site Admin
Posts: 2551
Joined: Sun Aug 09, 2015 5:01 pm
Location: Zurich
Contact:

Du kannst für die Datenschutzerklärung und das Impressum statische Seiten verwenden und sie von der Menüleiste ausschliessen.

Dazu kannst Du den Code in der Datei index.php im Verzeichnis /bl-themes/massively-2.1 wie folgt anpassen (Zeile 54):

Code: Select all

<?php foreach ($staticContent as $staticPage):
   if ( $staticPage->slug() != 'datenschutzerklaerung' && $staticPage->slug() != 'impressum' ) { ?>
      <li class="<?php echo ($staticPage->permalink()==$page->permalink())?'active':'' ?>"><a href="<?php echo $staticPage->permalink() ?>#main"><?php echo $staticPage->title() ?></a></li>
<?php } endforeach ?>
Image
Hyknuf
Sr. Bludit
Posts: 37
Joined: Fri Feb 05, 2021 2:56 pm

Edi wrote: Fri Feb 12, 2021 4:58 pm Du kannst für die Datenschutzerklärung und das Impressum statische Seiten verwenden und sie von der Menüleiste ausschliessen.

Dazu kannst Du den Code in der Datei index.php im Verzeichnis /bl-themes/massively-2.1 wie folgt anpassen (Zeile 54):

Code: Select all

<?php foreach ($staticContent as $staticPage):
   if ( $staticPage->slug() != 'datenschutzerklaerung' && $staticPage->slug() != 'impressum' ) { ?>
      <li class="<?php echo ($staticPage->permalink()==$page->permalink())?'active':'' ?>"><a href="<?php echo $staticPage->permalink() ?>#main"><?php echo $staticPage->title() ?></a></li>
<?php } endforeach ?>
Servus Edi,

vielen herzlichen Dank dafür, echt wahnsinn. Ich habe es einfach nicht heraus gefunden :roll:
Danke!
User avatar
novafacile
Sr. Bludit
Posts: 46
Joined: Sat Oct 06, 2018 4:47 pm
Contact:

Tipp um es generischer zu halten:

Man kann dafür auch die Custom-Fields nutzen. Es gibt grundsätzlich verschiedene Ansätze ob man die Anzeige in der Navi "einschließen" oder "ausschließen" möchte. Dann kannst du das pro Seite in den "Einstellungen" der jeweiligen Seite aktivieren oder eben nicht. In deinem Fall wäre ein Ansatz:

In den Custom Fields:

Code: Select all

{
    "hide-in-navi": {
        "type": "bool",
        "label": "In Navigation verbergen",
        "tip": "Seite wird in der Navigation nicht angezeigt"
    }
}
Im Template an der von Edi genannten Stelle:

Code: Select all

<?php foreach ($staticContent as $staticPage):
   if (!$staticPage->custom('hide-in-navi')) { ?>
      <li class="<?php echo ($staticPage->permalink()==$page->permalink())?'active':'' ?>"><a href="<?php echo $staticPage->permalink() ?>#main"><?php echo $staticPage->title() ?></a></li>
<?php } endforeach ?>
Hab den Code jetzt nicht getestet, sollte aber so in der Art funktionieren. Ich hab es bei mir anders herum gedreht, dass ich in den Custom-Field festlege, ob eine Seite in der Navi auftauchen soll oder nicht.

Das sieht bei mir so aus:

Custom Field

Code: Select all

{
    "show-in-navi": {
        "type": "bool",
        "label": "In Navigation zeigen",
        "tip": "Seite in der Navigation angezeigen"
    }
}
In deinem Template wäre es dann so:

Code: Select all

<?php foreach ($staticContent as $staticPage):
   if ($staticPage->custom('show-in-navi')) { ?>
      <li class="<?php echo ($staticPage->permalink()==$page->permalink())?'active':'' ?>"><a href="<?php echo $staticPage->permalink() ?>#main"><?php echo $staticPage->title() ?></a></li>
<?php } endforeach ?>
Post Reply