Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: warunek sprawdzający czy jest to główna strona
Forum PHP.pl > Forum > Przedszkole
zafon
Witam, z góry dziękuje forumowiczom za udzieloną pomoc.

Sprawa wygląda następująco:
Na wszystkich stronach wyświetla się div o nazwie "Nawigacja" są to okruszki. Chciałbym, aby na pierwszej (głównej stronie) nie wyświetlał się ten div tylko na podstronach - głupio to wygląda jak na samej górze strony wyświetla się "strona główna"

Analizując zagadnienie doszedłem do wniosku, że trzeba wykonać wyjątek sprawdzający czy jest to główna strona. Czy panowie będą tak łaskawi i pomogą jak powinien wyglądać wyjątek sprawdzający czy jest to strona główna i wyłączyć tego diva na tej stronie, ale na kolejnych podstronach aby się już pojawił smile.gif
markuz
  1. $_SERVER['REQUEST_URI']
zafon
Cytat(markuz @ 14.07.2017, 12:36:46 ) *
  1. $_SERVER['REQUEST_URI']


Hej jestem zielony w PHP czy mógłbyś pomóc mi w napisaniu kodu.

div id="nawigacja"

strona - strona_glowna.tp

Nie mam pojęcia gdzie co i jak smile.gif jeżeli znajdziesz chwilkę będę bardzo wdzięczny za pomoc.
Tomplus
Jak jesteś zielony, to trzeba dojrzeć do pisania kodu, np. przejść jakiś kurs np. tutaj: https://www.codecademy.com/

Potem możesz już na swoim serwerze sprawdzić co daje zmienna $_SERVER['REQUEST_URI'] i jak zobaczysz co użytecznego niesie ze sobą, to stosujesz wiedzę poznaną na kursie PHP tworząc odpowiedni warunek, który wykonuje kod który oczekujesz smile.gif

Możesz też poznać więcej na temat HTML i JS, co też pomoże w pracy nad stronami.
zafon
Cytat(Tomplus @ 14.07.2017, 18:12:18 ) *
Jak jesteś zielony, to trzeba dojrzeć do pisania kodu, np. przejść jakiś kurs np. tutaj: https://www.codecademy.com/

Potem możesz już na swoim serwerze sprawdzić co daje zmienna $_SERVER['REQUEST_URI'] i jak zobaczysz co użytecznego niesie ze sobą, to stosujesz wiedzę poznaną na kursie PHP tworząc odpowiedni warunek, który wykonuje kod który oczekujesz smile.gif

Możesz też poznać więcej na temat HTML i JS, co też pomoże w pracy nad stronami.


Dziękuje kolego za poradę - lecz prosiłbym szanownych kolegów o wskazanie rozwiązania dla was jest to mega proste, a dla mnie niezbędne.

div="Nawigacja" aby nie pokazywał się na główne stronie tylko na podstronach.

Z góry dziękuje za udzieloną pomoc.
viking
Wykaż się trochę i zrób echo tego co markuz podał.
zafon
Cytat(viking @ 16.07.2017, 21:43:31 ) *
Wykaż się trochę i zrób echo tego co markuz podał.


Kombinuje i nie idzie wink.gif
Czy to powinno wyglądać jakoś tak

<?php
if ($_SERVER['REQUEST_URI'], "templates/dobry/index.php") == 0) {
$Nawigacja =".Nawigacjaukryj">
}
else {
$Nawigacja =".Nawigacjapokaz">

}

?>
viking
Strpos nie używasz więc dlaczego miałoby tak być? Jak powinien wyglądać warunek jesli zmienna równa się coś?
zafon
Cytat(viking @ 17.07.2017, 02:42:13 ) *
Strpos nie używasz więc dlaczego miałoby tak być? Jak powinien wyglądać warunek jesli zmienna równa się coś?



Panowie wiem, że chcecie abym nauczył się podstaw php - lecz naprawdę potrzebuje tylko tego. Wszedłem na te forum, na którym z opisu można przeczytać "Raczkujesz w tematyce WWW (PHP, SQL, (X)HTML, CSS, JS, XML, AJAX)? ... Jeśli masz problem ze skryptem PHP tutaj jest odpowiednie miejsce, aby znaleź". Widocznie to tylko slogan. sad.gif
viking
To że tak ten dział jest opisany nie znaczy, że możesz lenia totalnego odwalić i nie potrafić napisać warunku if (a == cool.gif. Zwłaszcza że zmienna jest uzależniona od ścieżki wywołania skryptu, ewentualnie mod_rewrite i nikt za ciebie nie będzie zgadywał wartości tej zmiennej.
zafon
for ( $i=0, $n=count($this->_sciezka); $i < $n; $i++ ) {
if (isset($this->_sciezka[$i]['link']) && $this->_sciezka[$i]['link'] != '' ) {

if ( $i == '0' ) {
$tekst .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a rel="nofollow" href="' . $this->_sciezka[$i]['link'] . '" class="NawigacjaLink" itemprop="url"><span itemprop="title">' . $this->_sciezka[$i]['tytul'] . '</span></a></span>';
} else {
if ( $i < $n-1 ) {
$tekst .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="' . $this->_sciezka[$i]['link'] . '" class="NawigacjaLink" itemprop="url"><span itemprop="title">' . $this->_sciezka[$i]['tytul'] . '</span></a></span>';
} else {
$tekst .= '<span class="Nawigacja">' . $this->_sciezka[$i]['tytul'] . '</span>';
}
}


class="NawigacjaLink" mogę zmienić klasę na NawigacjaUkryj, gdzie w css dam atrybut display:none; // lecz to ukrywa link scieżki "strona główna"
Co mam ustawić aby nie wyświetlał się element na stronie głównej tylko na podstronach ;/
markuz
Może tak: nie pokazuj Breadcrumb jeżeli jest w nim tylko 1 link.

Dodaj przed for:
  1. if (count($this->_sciezka) > 1 ) {

Albo jeszcze wyżej - pokaż więcej kodu.
zafon
Cytat(markuz @ 17.07.2017, 14:55:48 ) *
Może tak: nie pokazuj Breadcrumb jeżeli jest w nim tylko 1 link.

Dodaj przed for:
  1. if (count($this->_sciezka) > 1 ) {

Albo jeszcze wyżej - pokaż więcej kodu.



Super markuz Lkingsmiley.png królu - Dzięki za pomoc wszystko działa, masz u mnie piwko.

A cały kod się prezentuje tak.

<?php

class Nawigacja {
var $_sciezka;

public function nawigacja() {
$this->reset();
}

public function reset() {
$this->_sciezka = array();
}

public function dodaj($tytul, $link = '', $unshift = 0) {
switch ($unshift) {
case 0:
$this->_sciezka[] = array('tytul' => $tytul, 'link' => $link);
break;
case 1:
array_unshift($this->_sciezka, array('tytul' => $tytul, 'link' => $link));
break;
}
}

public function sciezka($separator = ' - ') {
$tekst = '';
if (count($this->_sciezka) > 1 ) {
for ( $i=0, $n=count($this->_sciezka); $i < $n; $i++ ) {
if (isset($this->_sciezka[$i]['link']) && $this->_sciezka[$i]['link'] != '' ) {

if ( $i == '0' ) {
$tekst .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a rel="nofollow" href="' . $this->_sciezka[$i]['link'] . '" class="NawigacjaLink" itemprop="url"><span itemprop="title">' . $this->_sciezka[$i]['tytul'] . '</span></a></span>';
} else {
if ( $i < $n-1 ) {
$tekst .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="' . $this->_sciezka[$i]['link'] . '" class="NawigacjaLink" itemprop="url"><span itemprop="title">' . $this->_sciezka[$i]['tytul'] . '</span></a></span>';
} else {
$tekst .= '<span class="Nawigacja">' . $this->_sciezka[$i]['tytul'] . '</span>';
}
}

} else {
$tekst .= '<span class="Nawigacja">' . $this->_sciezka[$i]['tytul'] . '</span>';
}

if (($i+1) < $n) $tekst .= '<span class="Nawigacja">' . $separator . '</span>';

}

return $tekst;
}
}
}
?>



To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.