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 : 2101



Hava / Nöbetçi Eczaneler

SERKAN ECZANESİ - Sinop - Merkez

GELİNCİK MAH.FATİH CAD. GÜZEL SİTE A BLOK NO.23/A
(368) 261 99 88

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...

ÖZCAN ECZANESİ - Boyabat

CAMİİKEBİR MAH. ADNAN MENDERES BULVARI NO:51/C
(368) 315 47 10

TEK ECZANESİ - Durağan

HÜRRİYET CAD. NO:1
(368) 416 11 52

ERFELEK ECZANESİ - Erfelek

CUMHURİYET MEYDANI NO:18
(368) 511 20 39
Eczaneyi haritada görüntülemek için tıklayınız...

EKİN ECZANESİ - Gerze

HAMİDİYE MAH. RECAİ KURUOĞLU BULVARI NO:41
(368) 718 48 37

TÜRKELİ ECZANESİ - Türkeli

GÜZELYURT MAH. ERDEMBEY CAD. CAMİ SOK. NO:7/B
(368) 671 24 20

Sinop Namaz Vakitleri

Çevrimiçi Kullanıcılar

Çevrimiçi Ziyaretçiler: 1

Ç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