PHP sever tarafı komut dosyası kullanmadan başlığı paylaştı?

12 Cevap php

Ben şimdiye kadar hep PHP ile çözmüş basit bir problem:

Sen başlık, menü, altbilgi ve içerik alanı ile bir site var.

Kafa vuruşu, menü ve altbilgi her sayfa için genellikle aynıdır.

  • Nasıl, PHP veya başka bir sunucu tarafı dil olmadan, başlık, menü ve altbilgi verileri tek bir dosyada sadece mevcut var?

Örneğin tüm html dosyalarına statik başlık ve menü bir kopyasını sahip on sayfa (about.html, products.html, anasayfa.html gibi ..) yok ki. Eğer başlığını değiştirmek istiyorsanız Şimdi on dosyalarını değiştirmek zorunda.

Ben bir yorum bırakın lütfen değilse ben, yeterli benim soru açık yapılan umuyoruz :)

12 Cevap

Apache kullanıyorsanız ediyorsanız kullanabilirsiniz server-side includes. Temelde sağlayan bu HTML belgeleri içinde ifadeleri içerir.

Çerçeveler yapabilirsiniz. Olsa sonucun kalitesi hakkında söyleyemeyiz.

Ayrıca istemci tarafı komut dosyası ile tamamen yapabilirdi. Sadece statik kaynaklar almak ve sayfanın içine enjekte etmek için bazı uyumsuz istekleri yürütmek. Bu gerçekten sadece bir JS kare sürümü değil sorunu yaklaşım iyi yoldur, ama çalışmak istiyorum.

host destek shtml dosyaları varsa, onlar scriptability sınırlıdır.

<!--#include file="included.html" -->

Aksi takdirde, düz html için, bunu yapan bazı fantezi javascript / ajax yoksa korkarım şans bitti.

O exactly Ne demek ne bilmiyorum, ama SSI (server-side includes) yerine sunucu tarafı komut dosyası ile yapabilirsiniz. SGK sadece gerçek bir kod yazmadan diğer dosyaları da dahil olmak üzere bir yolu, komut dosyası değil.

Tamamen sunucunun yardımı olmadan bu iş için olduğu gibi, bu farklı bir hikaye. Siz bu tür bir şey yapmak için sunucuyu kullanarak daha iyidir. Bu her yerinde garip dosyaları ile sona kirli hisseder, ve yönetmek için bir ağrı, ama şablonları ve yapmanız aradığınızı yapmanın oldukça iyi bir iş yapmak içerir.

include veya Apache sunucu tarafı içerir PHP kullanarak önerileri bu sorunu çözecek, doğrudur.

Eğer every sayfasında aynı başlık ve bitişe sahip olduğunu biliyorum ama eğer ben, PHP özgü başka bir seçenek önermek:

  • auto_prepend_file

  • auto_append_file

http://www.php.net/manual/en/ini.core.php at dokümanlar bakın

Underscore veya Closure tarafından sağlanan gibi, JavaScript çiftleşmiş kullanın. Daha büyük olasılıkla: refuse to work for clients who will not pony up for appropriate web hosting, ve oldukça site için uygun olandan sadece maliyet bu kararı dayandırarak.

Eğer varsa tek seçenek () başlığında sarılı document.write referansler JS dosyasına başlık eklemektir. Ben genellikle PHP veya VB yapmak beri Tabii ki, benim kendi kodu için bu yöntemi kullanmayın.

Ben aklınıza gelebilecek en belirgin yolu bir sunucu dili içerir (ama does sunucu tarafında işleme dahil) olan server side includes. Değil

Size ve çerçeveler olmadan olsaydı, verileri almak için ajax istekleri iyi olurdu. Rağmen, belirtildiği gibi, seo öldürecekti

Javascript ve jQuery kullanabilirsiniz varsa, dinamik $ kullanarak üstbilgi ve altbilgi yükleyebilirsiniz. Yük. Değil en temiz çözüm olsa.

PHP, şablonları bir klasör verildi, yüklemek için son HTML dosyaları bir klasör üreten, bir PHP script üretmek biliyorum çünkü ben iyi gibi çözüm etmektir. Aslında, bir hoşgörüyle kolay bir görev gibi geliyor.