Autor Zpráva
Thomass
Profil *
Zdravim, už dlouho řeším jeden problém... Jde o titulek u různých článků:

Kód mám napsaný takto

<? $title="Titulek stránky";
include "horni_cast_stranky.php" ?>

<? if ($_GET['id']==001): ?>
<? include "clanek/011.php"; ?>
<? endif; ?>
<? include "dolni_cast_stranky.php" ?>

Nevíte, jak bych si mohl v tom souboru "011.php" nastavit titulek stránky?
WertriK
Profil *
index.php ->
<?
$title = "Titulek stranky";
?>

011.php ->
<?
echo $title;
?>

-> vypise : Titulek stranky
Thomass
Profil *
Já nechci titulek vypsat ... ja chci do titulku zapsat v souboru 011.php

<title>tohle myslim jako "Titulek stránky"</title>
paja a jaja
Profil *
tak tomu nerozumim - do indexu.php nacitas ten 011.php, <title>v tomhle pripade bude "pochazet" z indexu, ne? a tam to udelas jednoduse:
<?php

$title="ten tvuj titulek"
echo "<html><head><meta.........>";
echo "<title>$title</title>";
echo "</head>" ..atd

ale mam pocit, ze tvuj problem je opacny:
v tech clancich (011.php..) budes mit vzdy nejaky jiny titulek (treba ten $title), a az ho includujes do indexu, pouzijes ho podobne...
littlemaple
Profil
Pokud to chápu dobře, chce autor vlákna získat titulek stránky ze souboru 011.php ještě předtím, než ho otevře. Napadá mě hezké řešení pomocí regulárních výrazů. Dejme tomu, že v 011.php bude někde na začátku nadpis článku zapsán pomocí html jako <h2>Nadpis</h2>.

Mohou tam být chyby, píšu to z hlavy. Nejsem si jistý, ve které části pole $matches bude odchycený title a ten regulární výraz by chtěl taky možná odladit, ale myslím, že by mohl fungovat.


<?php
$yes = ($_GET['id'] == 001);

if ($yes) {
$rows = file("clanek/011.php"); //array
foreach($rows as $row) {
if(preg_match("~<h2>([^<]+)+</h2>~i", $row, $matches)) {
$title = $matches[1];
break;
}
}
}
else $title = "Titulek je jiný";

include "horni_cast_stranky.php";

if ($yes) {
include "clanek/011.php";
}

include "dolni_cast_stranky.php";
?>
littlemaple
Profil
Pokud jsem to špatně pochopil, tak se omlouvám :-)
llook
Profil
Možností je víc, řešilo se to třeba tady: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=45 32

V daném případě by mohlo řešením být tohle:
<?php

$title = 'Implicitní titulek';
ob_start();
if ($_GET['id']==001):
include "clanek/011.php"; ?>
endif;
$obsah = ob_get_contents();
ob_end_clean();
include "horni_cast_stranky.php"
echo $obsah;
...
llook
Profil
Titulek by se pak nastavoval v tom clanek/011.php normálně $title = 'Titulek'; Pokud by ho ten soubor nenastavil, použil by se Implicitní titulek.
paja a jaja
Profil *
littlemaple
ano, to je pěkné řešení, nebo prostě jednoduše autor článku uloží titulek do proměnné s konkrétním názvem a ta už se "odchytává" lépe
Toto téma je uzamčeno. Odpověď nelze zaslat.