Autor Zpráva
Bon Joy
Profil *
Potřeboval bych poradit, teda jestli někdo bude vědět.

Potřebuji, aby na stránce se do tagu <title></title> napsal text, ktarý by byl napsán někde v obsahu stránky pomocí php, jde o to, že mám stránky pomocí php, tak že mám pouze index a ostatní stránky se zobrazují funkcí include... a potřeboval bych aby na každé té stránce byl napsaný jiný titulek... šlo by to nějak udělat?

Díky za radu/y.
somebody
Profil
možností je spousta, nejlépe přes proměnou např.

include ("stranka.php");

<title>$titulek</title>

ve stránce budeš mít uloženou vždy proměnou $titulek="Můj nadpis na stranka.php" ;
tajny spion
Profil
Bon Joy
Ja to mam udelany tak, ze titulek mam stejnej jako H1. Oboje mam vypsany jako $headtitle. Hned na zacatku kazdy stranky mam promenou i s jeji unikatni hodnotou. Pokud jsi nepobral, vice na 451-870-409
Taps
Profil
Bon Joy
Jak může includovaný soubor změnit titulek
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=21 11
gustav
Profil
možností je spousta, nejlépe přes proměnou např.

include ("stranka.php");

<title>$titulek</title>

ve stránce budeš mít uloženou vždy proměnou $titulek="Můj nadpis na stranka.php" ;

podle tohoto postupu mi ver, ze se v titulku objevi nazev promenne!

somebody ma vsechno hned hotove, podivej se na jeho stranky!

spravne musis napsat

<title><?php echo $titulek; ?></title>

jinak to opravdu neuvidis
jrm
Profil
Stránku index.php použij bez tagu TITLE a ten dej až do includované.
Anna007
Profil
To jrm
takhle to jde jen v IE, mě to Firefox nezobrazuje, pokud to chápu dobře, že to máš mimo HEAD, to už jsem taky zkoušela. Nebo jak to děláš pro Firefox ?
jrm
Profil
Já jedu hlavně pro FF, pro IE jen kontroluju, že to tam jde taky!
Anna007
Profil
Hm tak dneska to v tom Firefoxu pro změnu funguje, to je asi nejjednodušší způsob, než nějak z databáze apod.
krteczek
Profil
Anna007: nejde ani o to odkud se informace berou, ale kdy ty informace získáš... Abys mohla ten titulek vkládat tam kde potřebuješ, musíž ho znát dřív než vykreslíš hlavičku. Takže nejprve si načti do proměnných jejich hodnoty a potom je použij.

jak by mohl vypadat soubor s obsahem stránky (/stranky/stranka.inc.php):

<?php
$title = 'titulek stránky';
$obsah = '<h1>nadpis</h1>
<p>Nějaký text...</p>
';
?>


a samotná stránka kde se soubor vkládá by mohla vypadat následovně (index.php):

<?php
include('/stranky/stranka.inc.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<?php echo $obsah;?>
</body>
</html>

tohle je celé kouzlo jak dostat titulek do title ;-)
Anna007
Profil
No fakt ty jsi kouzelník !! Opravdu to funguje, ani nemusím měnit názvy odkazů. Akorát jsem dala na začátek před to DOCTYPE, to co jsem měla původně tam, co se to vkládalo
<?php

@include (file_exists( './stranky/' . $_GET['page'] . '.php' ))
? './stranky/' . $_GET['page'] . '.php' : './stranky/uvod.php';
?>

do složky /stranky/ jsem dala ty soubory, např. kontakt.php
a ty odkazy pak vypadají úplně stejně jak předtím, tj. index.php?page=kontakt

To ostatní jsem udělala přesně jak jsi napsal, to je opravdu elegantní řešení.
krteczek
Profil
Anna007: ještě ho trošku můžeš vylepšit ;-)
Představ si že máš proměnnou, která bude polem (array)
klíče budou očekávané názvy stránek a hodnoty budou cesty k těmto stránkám
příklad:

<?php
vynulování proměnných!!
$title = 'chyba: stránka nenalezena';
$obsah = '<p>chyba: stránka nenalezena</p>';
$menu = '';
//na začátku indexu budeš mít pole
$stranky = array(
'uvod' => array(
'file' => 'uvod.inc.php',
'nazev' => 'úvod',
'title'=> 'Návrat na úvodní stránku'
),
'onas' => array(
'file' => 'o-nasi-firme.inc.php',
'nazev' => 'O nás',
'title' => 'Informace o naší firmě',
),
'kontakt' => array(
'file' => 'kontakttni-informace.inc.php',
'nazev' => 'Kontakt',
'title' => 'Kde nás najdete, kontaktní telefonní čísla a emaily, IČO, DIČ',
),
);

//kontrola co přichází z $_GET
if(!empty($_GET['page']))
{
if(array_key_exists($_GET['page'], $stranky))
{
$file = '/stranky/' . $stranky[$_GET['page']]['file'];
if(file_exists($file))
{
include($file);
}
}
}
$menu = generujMenu($stranky);
Anna007
Profil
To by ale asi nešlo použít, když je těch stránek hodně, asi tak 79 a budou přibývat, to bych tam musela každou stránku mít v tom poli ? Nebo by to bylo strašně velký, nezdržovalo by to nějak načítání těch stránek ? Něco na tenhle způsob už jsem zkoušela, ale nepovedlo se mi to.
krteczek
Profil
Anna007ještě jsem nestihl přidat funkci která z té array vygeneruje menu, ta by mohla vypadat následovně:

<?php
function generujMenu($array)
{
$menu = '';
reset($array);
foreach($array as $key => $foo)
{
$menu .= "\n\t" . '<li><a href="./?' . $key . '" title="' . $foo['title'] .'">' . $foo['nazev'] . '</a>';
}
return (!empty($menu) ? "\n<ul>" . $menu . "\n</ul>" : '');
}
krteczek
Profil
Jo a neboj, nemělo by to mít vliv na zdržování, toho zase až tak moc není. Ovšem při tebou zmíněném množství stránek by se vyplatilo je ukládat do db
Anna007
Profil
No to je taky problém, já mám z toho asi 7 stránek výpis z databáze (ceník) a to mi výše zmíněným způsobem vůbec nefunguje, to se prostě objeví jen prázdná stránka.
A je to právě všechno kvůli rozklikávacímu menu, které už tam je a nemůžu s ním hýbat, už jsem to dala na web. Potřebuju, aby se měnil ten titulek, ale odkazy na stránky zůstávaly stejné. To by myslíš šlo z té databáze ?
krteczek
Profil
Anna007:-) samozřejmě, ale to bych už musel vidět víc než jen ze to nějak maš udělane. potřebuji na to více informací...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0