Sinop Tanıtım Platformu

Php-Fusion HTML Tema Entegrasyonları 3

Php-Fusion HTML Tema Entegrasyonları 3

PHP-FUSION ve HTML Entegrasyonları 3. dersimiz ile kaldığımız yerden devam ediyoruz. Bu scripti tercih edip kullanmamın en büyük sebebi temel php yapısına sadık kalması, geliştirilebilir tema yapısı, her framework'e entegre olabilme, modüler sistem, blok sistemi, tamponlama kolaylığı, dinamik içerikte header'a bilgi gönderebilme vs. sıralanabilir. 

Bir önceki dersimizde html kod yapısının php-fusion ile çalışabilmesi için (lisans mekanizmasınıda bozmadan) gerekli kod yapısını göstermiştim. Şimdi bu yapıyı daha da geliştirerek, header fonksiyonları, meta düzenleme işlemlerini de dahil ederek, gelişmiş bir meta yapısı oluşturacağız. Bu dersimizi dikkatlice okuyup takip ediniz. Çünkü meta düzenlemeleri (seo) çekirdek yapıda bulunmayan, tamamen kendi geliştirdiğim entegrasyonlar içerecektir.

Temamızın yapısında gelen header yapısı aşağıdaki kod bloğundan oluşmakta
<html>
<head>
<title>Editorial by HTML5 UP</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" href="assets/css/main.css" />
<!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
<!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
</head>
<body>
           ....
       </body>
</html>

Peki hemen hemen her temada verilen bu header yapısı yanlışmı?
Elbette yanlış değil fakat eksik. İçinde bulunduğumuz bu dönemde web siteniz (scriptiniz) özellikle sosyal ağlarla etkileşimli çalışacaksa ve google tarafından düzgün algınlanması isteniyorsa, google tarafından istenen olmazsa olmaz bilgileri mutlaka bu kısımda işlemeliyiz. 

Peki standart meta yapısı nasıl olmalıdır?

Aşağıdaki kod bloğunda olmazsa olmaz ve düzgün çalışan yapıyı veriyorum
<title>Sayfa Başlığı</title>
<meta name='keywords' content='Sayfa Anahtar Kelimeler' />
<meta name='description' content='Sayfa açıklaması ( içerikle ilgili olmalı )'>
<meta name='author' content='Sayfa editörü veya sorumlu'>
<meta property='og:url' content='sayfa adresi' />
<meta property='og:type' content='içerik tipi - haber - makale - galeri vs..' />
<meta property='og:title' content='Sayfa Başlığı' />
<meta property='og:description' content='Sayfa açıklaması ( içerikle ilgili olmalı )' />
<meta property='og:image' content='sayfası temsil edecek görsel' />

Evet, kodlamaya yeni başlayanlar için yabancı meta elemanları görmetiz. og:url, og:type vs.. Bunlar OpenGraph protokolleridir. og.me web sayfasından tüm og elemanlarını görebilirsiniz. 

Meta taglarını dinamik olarak değiştirmek. Sayfanın herhangi bir yerinden meta değiştirmek.
PHP-FUSION v7 bilgi tamponlamayı çok iyi yapar, body taglar arasındaki tüm bilgiler bir değişkende tutulur, bu değişken sayfa yüklenirken head tagları arasında çalışan bir fonksiyonla okunur ve sayfaya işlenir. footer bölümünde bu değişken yeniden bilgi tamponlamak için temizlenir.  Tüm bu karmaşık işlemleri yapan dosyamız ise includes/output_handling_include.php dosyamızdadır. Hadi "çıktı işleme" anlamına gelen bu dosyamıza bir gözatalım. Neden sayfa başında dahil ediliyormuş...

Evet includes/output_handling_include.php dosyamızı herhangi bir metin editörüyle açıyoruz. 
21. $fusion_page_meta = array("description" => $settings['description'], "keywords" => $settings['keywords']);
fusion_page_meta adında bir dize değişkenine meta elemanları sıralanmış ve bu bilgileri veritabanımızdaki settings tablosundan okuyor. Demekki settigns tablomuza extra olarak eklediğimiz og bilgilerini de eklememiz gerekiyor. Eğer bu makaleyi inceliyorsanız bir tabloya alan ekleyebildiğinizi varsayıyorum. Temel Mysql ve php bilgisi olmayan okurlar lütfen burdan sonrasını okuyarak kafalarını karıştırmasınlar.

devam ediyoruz.... 
set_title
add_to_title          -> Başlığa ek yap 
set_meta              -> Meta ayarla
add_to_meta        -> Meta ekle
add_to_head        -> Head tagları arasına birşeyler ekle
add_to_footer      --> </body> sonrasına footer kısmına birşeyler ekle
replace_in_output -> çıktı değişkeninde değişiklik yap
add_handler        -> işleyici ekle
handle_output     -> buda tüm bu fonksiyonlardan gelen verileri yerli yerine yerleştir...

gibi fonksiyonları görüyoruz. Gayet akıllıca düşünülmüş olan bu fonksiyonlar adeta hayat kurtarıcı...

Öyleyse son olarak sayfa kod yapımız aşağıdaki gibi olmalı...

<?php 
require_once "maincore.php";
require_once INCLUDES."output_handling_include.php";
require_once INCLUDES."header_includes.php";
require_once THEMES."templates/render_functions.php";

 

if ($settings['maintenance'] == "1" && ((iMEMBER && $settings['maintenance_level'] == "1" 

&& $userdata['user_id'] != "1") || ($settings['maintenance_level'] > $userdata['user_level'])

)) { 

redirect(BASEDIR."maintenance.php");

 }

if (iMEMBER) { 

$result = dbquery(

"UPDATE ".DB_USERS." SET user_lastvisit='".time()."', user_ip='".USER_IP."', user_ip_type='".USER_IP_TYPE."'

WHERE user_id='".$userdata['user_id']."'"

); 

}

 

echo "<!DOCTYPE HTML>";

echo "

<html>

<head>

<title>".$settings["sitename"]."</title>

<meta charset='utf-8' />

<meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no' />

<!--[if lte IE 8]><script src='tema/assets/js/ie/html5shiv.js'></script><![endif]-->

<link rel='stylesheet' href='tema/assets/css/main.css' />

<!--[if lte IE 9]><link rel='stylesheet' href='tema/assets/css/ie9.css' /><![endif]-->

<!--[if lte IE 8]><link rel='stylesheet' href='tema/assets/css/ie8.css' /><![endif]-->";

 

if (function_exists("get_head_tags")) { echo get_head_tags(); }

 

echo "

</head>

<body>";

 

ob_start();

 

require_once INCLUDES."theme_functions_include.php";

 

function render_page($license = false) {

global $settings, $userdata,  $mysql_queries_time, $aidlink;

HTML KODLARI

}

require_once "themes/templates/footer.php";

 

?>

 

Bir sonraki dersimizde sayfadaki menu, blok yapısı, footer bilgileri işlemeye başlayacağız.


 

SGT - Mart 02 2017 Yazar Adı: PHP-FUSION · Yazdır Okunma : 1907



Hava / Nöbetçi Eczaneler

ŞİMŞEK ECZANESİ - Sinop - Merkez

MERKEZ KORUCUK KÖYÜ TIRKIŞLAR MEVKİİ NO:10/A
(368) 260 14 90
Eczaneyi haritada görüntülemek için tıklayınız...

MERVE ECZANESİ - Ayancık

YALI MAH.ATATÜRK CAD.NO:28/A
(368) 613 41 88
Eczaneyi haritada görüntülemek için tıklayınız...

AKAY ECZANESİ - Boyabat

EROL DEMİRKOL CAD. NO:3
(368) 315 14 40
Eczaneyi haritada görüntülemek için tıklayınız...

ERDOĞAN ECZANESİ - Durağan

MERKEZ MAH. PLEVNE CAD. NO:27/A
(368) 416 22 77
Eczaneyi haritada görüntülemek için tıklayınız...

ÇAĞLAR ECZANESİ - Erfelek

CUMHURİYET CAD. MERKEZ MAH.NO:12/A
(368) 511 20 20
Eczaneyi haritada görüntülemek için tıklayınız...

ÜNLÜ ECZANESİ - Gerze

ÇARŞI MAH.CUMHURİYET MEYDANI NO:4
(368) 718 10 10
Eczaneyi haritada görüntülemek için tıklayınız...

ŞİFA ECZANESİ - Türkeli

CUMHURIYET CAD.NO:4/B
(368) 671 21 79
Eczaneyi haritada görüntülemek için tıklayınız...

Sinop Namaz Vakitleri

Çevrimiçi Kullanıcılar

Çevrimiçi Ziyaretçiler: 2

Çevrimiçi Üyeler: 0

Toplam Üye Sayısı: 3
En Yeni Üye: oya

Bize Ulaşın

0368 261 45 95
0368 261 45 95
0507 594 45 56
E-Posta Gönderin
Facebook'tan Takip Edin
Twitter'dan Takip Edin
Google'da Takip Edin
Instagram'dan Takip Edin
Abalı Köyü, Dikenli Mahallesi