WebDesign: Başlık dosyası, ancak özel sayfa başlıkları ile?

8 Cevap php

I've been using headers to create templates for websites. It's easy, and very convenient for debugging.

I now face the problem of using head BUT with custom page titles. If this is my header.php >

<html>
    <head>
        <title> My Site : ??? </html>
    </head>
<body>


</body>
</html>

Ben ihtiyacım?? her sayfa için değiştirilmesi gerekir.

Bu mümkün mü? Eğer öyleyse, nasıl? Teşekkür ederim. :)

8 Cevap

Dosya dahil düzeni hakkında daha fazla bilmek değil, basit şekilde olacaktır:

sayfa2.php

<?php
$pageTitle = 'Page 2';
include 'header.php';
?>

<div>My content</div>

<?php include 'footer.php'; ?>

header.php

<html>
    <head>
        <title> My Site : <?php echo $pageTitle ?> </title>
    </head>
<body>

footer.php

</body>
</html>

I, başlık dahil olmak üzere önce bazı kod eklemek için olsaydı yardımcı olacak?

<?php
    $currentPage = "Random Page Title";
    include "header.php";
?>

Ve o zaman sayfa başlığını yazdırmak header.php değeri kullanın?

webbiedave cevabı gayet, ancak uzun vadede, gerçekten iyi bir şablon dili (Smarty, Twig), ya da kendi çiftleşmiş var olan bir PHP çerçeve ya da kullanmayı öğrenmek gerekir. Kohana ve Codeigniter hem de içine almak oldukça kolay.

Bir sayfanın başlığı için bir DB sorgulamak ve sonra php kullanarak baskı olabilir :)

Edit:

Eğer bu basit çözüm olmayabilir tasarlanmış web sitesi var nasıl bağlı, geri sorun bakarak. Zaten ID sistemine çeşit kullanıyorsanız Ama bu kolay olmalıdır.

Evet, kesinlikle yardımcı olacaktır. Ama küçük bir özelleştirme yapmak gerekir.

Her şeyden önce, size veritabanından veri almak / sorgulamak istiyorsanız, veritabanına bağlanmak emin olun. Bunun gerçekleşmesi için, veritabanı bağlantısı mantığı mevcut olacaktır hangi senaryonun başında "config.php" sayfasını içerir.

Sonra, o veritabanından veri almak için sorgu yazmak ve başlık sayfasında bunu kullanmak için gerekli değişkene bu değeri atayın.

Son olarak, "header.php" sayfasını dahil.

"Config.php" sayfası için: -

Kullanarak gibi Veritabanı Bağlantısı Mantık, "mysql_connect ()" ve "Mysql_select_db ()" fonksiyonları.

"Custom.php" sayfası için: -

<?php
  include "config.php";

  $sql = "SELECT pageTitle FROM db_table WHERE condition = 'something'";
  $sql_exe = mysql_query($sql) or die("Error in Fetching Page Title");
  if( mysql_num_rows($sql_exe) ) {
    $currentPage = mysql_result($sql_exe, 0, 0);
  }
  else {
    $currentPage = "Random Page Title";
  }
  mysql_free_result($sql_exe);

  include "header.php";
?>

İsterseniz de, her zaman mysql bağlantısı ve bazı sınıfını kullanabilirsiniz sorgular, veri almak için. Ama bu her zaman işe nasıl.

Eğer içeren tüm diğer çağıran bir ana dosya index.php varsa bu iyi bir çözümdür, dinamik sayfanın başlığını değiştirmek için javascript arayabilirsiniz

Ayrıca, bu gibi bir şey kullanabilirsiniz:

Eğer sayfa başlıkları ile php dosya adlarını evliyse

Eğer patlayabilir veya str virgül değiştirmek veya örneğin altını için daha kullanıcı dostu yapmak yerine kullanabilirsiniz.

   <?php
    echo basename($_SERVER['REQUEST_URI']);
    ?>

veya

  <?php
    // my_page_title.php
   $var=basename($_SERVER['REQUEST_URI']);
   $pagetitle=str_replace("_"," ",$var);

    // my page title
    ?>       
    <title> My Site : <?php echo $pagetitle; ?> </title>

Webbiedave en header.php girişi düzeltildi 1 küçük hata

</html> should be </title>

<html>
    <head>
        <title> My Site : <?php echo $pageTitle ?> </title>
    </head>
<body>