Jump to content
php.lv forumi

mainoties lapai, mainas title


anonīms

Recommended Posts

Gribēju vaicāt kā Jūs dabūtu gatavu to, ka teiksim ieejot ?lapa=forum, titlē pievienoties "Forums", bet citā lapā ieejot, kaut kas cits.

Variantus, piemērus derētu.

Pats pašlaik lietotoju tā, ka teiksim forums.php failā ir

$title = 'Forums';

un tad iekšs f-jas ielieku galveno lapu

function page()
{

forums...
return;
}

 

un beigās protams atliek index failā iemest

<?php page(); ?>

 

Jūsu varianti?

Varbūt ir iespēja to kaut kā ērtāk caur klasēm veidot. (Klases nesaprotu, kaut arī esmu pētījis manuāli)

Link to comment
Share on other sites

function echoPage($sTitle, $sBody) {
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' .
	'<html xmlns="http://www.w3.org/1999/xhtml"><head><title>' . $sTitle . '</title>' .
	'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' .
	'</head>' . $sBody . '</html>';
}
echoPage('hello', '<body><h1>world</h1></body>');

protams, tā body daļa arī tiek uzģenerēta automātiski atkarībā no konteksta. šī vnk ir tā zemākā līmeņa output funkcija, pie tam vēl saīsināts variants. pilnajā ir arī visi css/js iekš <head>

 

"klases" jeb oop kkā nesanāk lietot. vnk nav tik sarežģīti uzdevumi, kur oop varētu būt noderīgs. drīzāk gan ir izveidojies priekšstats, ka oop vairāk noder, lai atšķirtu iesācējus no tiem, kkas kko jau prot. praktiski 99% gadījumos oop webā lieto tur, kur bez tā labākajā gadījumā var iztikt, bet parasti jau tas nevajadzīgi palielina koda apjomu un pat sarežģī loģiku, kas apgrūtina uzturēšanu, pretēji tam kādēļ oop vsp sākotnēji tika radīts...

Link to comment
Share on other sites

Bet, ja skatās pēc tava koda, t ad sanāk, ka man iekšs tā echoPage pamatīgs kods jāmet iekšā..

teiksim echoPage('Forums',

$LALADAL$LADLAL

L$LADLA // līdz pat 2k rindām

);

Ja godīgi, tad izskatās nedaudz slimi un mans variants pat liekas labāks :D no offence

Par klasēm ir tā, ka man pat īsti nekad viņas nav vajadzējis un savos programēšanas gados, kas jau ir pāri 2/3 neesmu izveidojis nevienu klasi un neesmu pat centies.

Link to comment
Share on other sites

Nez, man ir vnk funkcija, kur es pēc kaut kāda ID nosaku lapas title.

 

getTitle($id){
$arr['ievads'] = "Ievada sadaļa";
$arr['galerija'] = "Foto galerija";
$arr['kontakti'] = "Sazinies ar mani";
if(array_key_exists($id,$arr){
 return $arr[$id];
}
return "Noklusētais title";
}

Link to comment
Share on other sites

Bet, ja skatās pēc tava koda, t ad sanāk, ka man iekšs tā echoPage pamatīgs kods jāmet iekšā..

dati taču nāk no db. viena funkcija uzģenerē menu, otra uzģenerē kontentu. jāpadod ir tikai

echoPage('title', '<body>' . menu() . content() . '</body>');

protams, ja rāda lielu apjomu (dažādības ziņā), tad jebkurā gadījumā ir daudz jāraksta...

Link to comment
Share on other sites

Nez, man ir vnk funkcija, kur es pēc kaut kāda ID nosaku lapas title.

 

getTitle($id){
$arr['ievads'] = "Ievada sadaļa";
$arr['galerija'] = "Foto galerija";
$arr['kontakti'] = "Sazinies ar mani";
if(array_key_exists($id,$arr){
 return $arr[$id];
}
return "Noklusētais title";
}

nu jā, ja cms nevajag, tad jau protams datus/kontentu var ņemt no tādām funkcijām (arī citos gadījumos, kad vajag paņemt vienu no vairākām hardcoded vērtībām). es gan tādā gadījumā pēdējo rindiņu rakstu ar isset(), nevis array_key_exists() (jo tad mazāk jāraksta :D:D:D)

function getTitle($id) {
$a['ievads'] = 'Ievada sadaļa';
$a['galerija'] = 'Foto galerija';
$a['kontakti'] = 'Sazinies ar mani';
return isset($a[$id]) ? $a[$id] : 'Noklusētais title';
}

Link to comment
Share on other sites

Es daru tā:

 

function head($title) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="/css.css" />
<title><?php echo $title; ?></title>

</head>
<body>

<div id="wrapper">
<div id="content">
<?php
}

 

function footer() {
?>
</div>
</div>
</body>
</html>
<?php
}

 

un pēc tam failā:

 

<?php
include("include/header.php");
head("kaut kaads title");

echo "Page";

footer();
?>

Edited by yeahz
Link to comment
Share on other sites

njaa laba variācija par tēmu ;)

 

btw, lai xhtml būtu ne vien strict, bet kaut vai tikai transitional, vajag <html xmlns="http://www.w3.org/1999/xhtml">

savādāk pie vnk <html> validators saka: Missing xmlns attribute for element html.

 

un vēl, kāpēc tu lieto strict? jau pie pirmā <a href="..." target="_blank"> (kas dažreiz noder) lapa vairs nevalidēsies, jo target atribūts nav iekļauts in xhtml strict: Attribute "target" exists, but can not be used for this element

 

man sanāk, ka grozies kā gribi, bet ja gribu, lai lapa vnm būtu valid, jālieto xhtml transitional. ok, var jau target="blank" uzlikt arī ar js, lai validators to nepamana (piemēram visiem elementiem ar class="targetBlank"), bet tas jau paliek perversi

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...