Başlığı Yazdır
php-fusion bootstrap entegrasyonları
KREKLAM
Merhaba arkadaşlar;

Ücretsiz olarak temin edebileceğiniz bir dünya bootstrap admin ve site teması mevcut... Php-Fusion entegresi ise elbette zaman alıyor. Çünkü frameworkler geliştikçe tema yapıları, jquery yapıları, stylesheet yapıları da haliyle çok değişiyor. Artık table nesnesi temalarda neredeyse kullanılmaz hale geldi. Bu durumda manuel entegrelerle istediğiniz temayı php-fusion ile kullanabiliyoruz. Bu başlık altında bazı kafa karıştıran işlemleri anlatmaya çalışacağım...

Php-Fusion v7 sürümlerde tema yapısı belirli fonksiyon şartıysa sorunsuz çalışmakta ve belirli işlem sırası göz önüne alınması gerekiyor. theme.php dosyasını incelediğimizde;
Kaynağı İndir  Kod

require_once INCLUDES."theme_functions_include.php";
function render_page($license = false) {
   global $settings, $main_style, $locale, $mysql_queries_time;





yukarıdatik kod betiğinde görüldüğü gibi tema fonksiyonlarını içeren dosya sayfaya dahil ediliyor. Ardından render_page fonksiyonu devreye giriyor
hemen ardından ( kodların hepsini atmıyorum) header, sol, orta ve sağ bloklar, footer bilgileri ekleniyor. render_page fonksiyonu ise themes/templates/footer.php de sonlandırılıyor... Buradaki amaç, sayfa içeriği output adında bir değişkene aktarılıyor, output değişkeninde tutulan sayfa içeriği ekrana yazdırılmadan dinamik olarak değiştirilebiliyor, (bakınız output_handling_include.php) ayrıca lisans mekanizması da bir nevi kontrol altında tutuluyor. Peki bunları neden anlattım...

Eğer siz bir html sayfayı php sayfasına dönüştütüp, php-fusion ile çalıştırmak isterseniz bunları atlamamanız gerekiyor. Aksi durumunda, meta taglarına otomatik veri gönderemezsiniz, yada footer'da bilgi gönderemezsiniz. Nihayetinde html sayfanız php-fusion ile yönetilebilmesi için aşağıdaki yapı mutlaka korunmak zorunda...


Kaynağı İndir  Kod

<?php
require_once "maincore.php";
require_once "header.php";
require_once INCLUDES."theme_functions_include.php";

function render_page($license = false) {
   global $settings, $main_style, $locale, $mysql_queries_time, $userdata;

//Sayfa içi tüm kodlarınız

require_once "footer.php";
?>





Pekiiiii. Bootstrap temalara baktığımızda her sayfada farklı CSS ve JS doslarının dahil edildiğini görüyoruz. Hepsini header.php'de toplasak olmaz mı? Evet belki o şekilde çalışan temalar mutlaka karşınıza çıkacak. Tema konusunda seçiçi davrandığım için bunu da ayrıştırmam gerekiyor. php-Fusion bize konuda çok kolaylık sağlayan bir fonksiyon vermiş ve bu fonksiyonlar hem <head></head> tagları arasında hemde footer (</body>) öncesinde okunabiliyor ve işlenebiliyor.

Örnekleyecek olursak. Anasayfanızda jquery.form.js dosyası yok, çünkü form işlemi yapacak bir kod betiği yok. Ayrıca buna ait bir css dosyasıda yok. Ama iletişim sayfanıza geldiğinizde css ve js eklemeleri olacak. Veya fotogaleri sayfanızdasınız. Standart bootstrap kütüphaneleri haricinde, lihtbox css ve js dosyalarına ihtiyaç duyacağız. Bu durumda ilgili sayfaya ek head ve footer dosyaları işlemek için aşağıdaki fonksiyonu kullanıyoruz.

render_page üstünde veya içinde ( sayfanın herhangi bir yerinde)
Kaynağı İndir  Kod

   set_title("SAYFA BAŞLIĞI");
   add_to_head("
    <link href='bootstrap/vendors/bootstrap/dist/css/bootstrap.min.css' rel='stylesheet'>
    <link href='bootstrap/vendors/font-awesome/css/font-awesome.min.css' rel='stylesheet'>
    <link href='bootstrap/vendors/nprogress/nprogress.css' rel='stylesheet'>
    <link href='bootstrap/vendors/iCheck/skins/flat/green.css' rel='stylesheet'>
    <link href='bootstrap/vendors/google-code-prettify/bin/prettify.min.css' rel='stylesheet'>
    <link href='bootstrap/vendors/select2/dist/css/select2.min.css' rel='stylesheet'>
    <link href='bootstrap/vendors/switchery/dist/switchery.min.css' rel='stylesheet'>
    <link href='bootstrap/vendors/starrr/dist/starrr.css' rel='stylesheet'>
    <link href='bootstrap/vendors/bootstrap-daterangepicker/daterangepicker.css' rel='stylesheet'>
    <link href='bootstrap/build/css/custom.min.css' rel='stylesheet'>   
   ");


   
   add_to_footer("
    <script src='bootstrap/vendors/jquery/dist/jquery.min.js'></script>
    <script src='bootstrap/vendors/bootstrap/dist/js/bootstrap.min.js'></script>
    <script src='bootstrap/vendors/fastclick/lib/fastclick.js'></script>
    <script src='bootstrap/vendors/nprogress/nprogress.js'></script>
    <script src='bootstrap/vendors/bootstrap-progressbar/bootstrap-progressbar.min.js'></script>
    <script src='bootstrap/vendors/iCheck/icheck.min.js'></script>
    <script src='bootstrap/vendors/moment/min/moment.min.js'></script>
    <script src='bootstrap/vendors/bootstrap-daterangepicker/daterangepicker.js'></script>
    <script src='bootstrap/vendors/bootstrap-wysiwyg/js/bootstrap-wysiwyg.min.js'></script>
    <script src='bootstrap/vendors/jquery.hotkeys/jquery.hotkeys.js'></script>
    <script src='bootstrap/vendors/google-code-prettify/src/prettify.js'></script>
    <script src='bootstrap/vendors/jquery.tagsinput/src/jquery.tagsinput.js'></script>
    <script src='bootstrap/vendors/switchery/dist/switchery.min.js'></script>
    <script src='bootstrap/vendors/select2/dist/js/select2.full.min.js'></script>
    <script src='bootstrap/vendors/parsleyjs/dist/parsley.min.js'></script>
    <script src='bootstrap/vendors/autosize/dist/autosize.min.js'></script>
    <script src='bootstrap/vendors/devbridge-autocomplete/dist/jquery.autocomplete.min.js'></script>
    <script src='bootstrap/vendors/starrr/dist/starrr.js'></script>
   <script src='bootstrap/vendors/jquery.inputmask/dist/min/jquery.inputmask.bundle.min.js'></script>
    <script src='bootstrap/build/js/custom.min.js'></script>   
   ");





gördüğünüz gibi sayfanın başında head arasına alınacak dosyaları ve </body> den önce eklenecek dosyaları işledik.... Peki bu js dosyaları neden sayfa altına gönderilir. Arkadaşlar, bazı kütüphaneler büyük olabiliyor. İşlem gücü fazla olabilecek dosyalar sayfa altına gönderilir ki, sayfa yavaş açılmasın...

Çok güzel buraya kadar tamam. Ama opentable(), closetable() yapısını kullanamayacak mıyız. Elbette kullanacağız. Çünkü scriptimiz fonksiyon bakımından resmen bir framework. Sayda fonksiyonumuzu HTML yapımıza göre geliştirmemiz gerekiyor. Çünkü php ile fonksiyonlarımıza istediğimiz kadar parametre gönderebiliyoruz.

Örnek Panel yapısı:
Kaynağı İndir  Kod

echo "
            <div class='row'>
               <div class='col-md-12 col-sm-12 col-xs-12'>
                  <div class='x_panel'>
                     <div class='x_title'>
                        <h2>Oda Tanımlama<small> tek kişilik, çift kişilik, daire vs.</small></h2>
                        <div class='clearfix'></div>
                     </div>
                     <div class='x_content'>

SAYFA İÇİNDEKİ FORMLAR, RESİMLER VEYA İÇERİKLER

</div></div></div></div>





bu bir panel yapısı. Parametrelerimizi inceleyelim... HTML bizden ne istiyor.
1. Satır ( bir satır oluştur)
2. Satır (satırın sütün sayısı. bir table nesnesinin td alanlarını düşünün) Bootstrap 12 sütun mantığı ile çalışmaktadır. Öyleyse ilk parametrelerimiz col-md-12 değerleri olacak. 1. bilgisayar, 2. tablet, 3. mobil diyebiliriz. yukarıdaki değer direk 12 olduğundan sayfa tek sütun olarak çalışacak, eğer ikiye bölündeydi col-md-6 olacaktı. Eğer 4 sütun olsaydı col-md-3 olacaktı. Umarım mantığı anlatabildim...
5 Satırda ( title) panel başlığı. Buda ikinci parametremiz olacak...

o zaman opentable() fonksiyonumuz şu şekilde olmalı...
Kaynağı İndir  Kod


opentable($sutun,$baslik){
echo "
            <div class='row'>
               <div class='col-md-".$sutun." col-sm-".$sutun." col-xs-".$sutun."'>
                  <div class='x_panel'>
                     <div class='x_title'>
                        <h2>".$baslik."</h2>
                        <div class='clearfix'></div>
                     </div>
                     <div class='x_content'>";
}
closetable(){
echo "</div></div></div></div>";
}





eveet işte bu şekilde, istediğimiz her temayı php fusion ile sıfırdan yapılandırabiliyoruz. Yani arkadaşlar CMS'yi tanımayanlar o CMS'nin bittiğini iddia etmektedir. Aslında CMS asla bitmez. Fusion'un bitmesi için PHP'nin bitmesi gerekir. Gördüğüm üzere bu işin devleri hala php kullanıyor. .NET mimarisi sanki öndeymiş gibi görünsede arkadaşlar sizi temin ederim PHP hala önde... PHP ile kodlanmış sistemler asla bitmez. Fakat programcı geliştirici bitebilir...

Devam edecek...
ÇIRAK USTAYI SOLLAMAZSA SANAT ÖLÜR
HATALI SOLLARSA ÇIRAK ÖLÜR
http://www.krekla...
http://www.elli7.net
 
Google Adsence
25/09/2017 05:26


Reklam Botu

Mesaj: n^x
Katılım: Asla

IP: Yok  
KREKLAM
Yine bootsrap framework temalı bir sitede özel bir sayfanız var. Örneğin özel sayfalar ile hazırladınız ve sayfa numarası 1 olsun...

Meta etiketlerinin kullanımı, ogp ( open graph protokolleri) kullanımı...
Open Graph nedir? Sosyal ağlarda web sayfanızdan bir link paylaştığınızda sitenizden alakasız içerikler çeker. Daha doğrusu sayfanızdaki görsellerden kafasına göre içerikler çeker. Buda hoş bir durum değil. <head></head> arasına bazı betikler göndererek bu işi halletmiş oluyoruz. Open Graph kullanımı ile ile ilgili daha önce birden fazla forum konusu açmıştım...

Yineleyecek olursak kodlar özetle şöyle olmalı...
Kaynağı İndir  Kod


      $result=dbquery("SELECT * FROM ".DB_CUSTOM_PAGES." WHERE page_id=1 ");
      $data=dbarray($result);
      
      $baslik=$data["page_title"];
      $aciklama=metinkisalt(strip_tags(stripslash($data["page_content"])),160);
      $anahtar=metinkisalt(strip_tags(stripslash($data["page_content"])),160);
      $tip="Web Tasarım";
      $url="http://www.kreklam.com/sinopwebtasarim.php";
      $resim="http://www.kreklam.com/images/about/about-10.jpg";
      set_title($baslik);
      set_meta("description",$aciklama);
      set_meta("keywords",$anahtar);
      
      add_to_head("
         <meta property='og:title' content='".$baslik."' />
         <meta property='og:type' content='".$tip."' />
         meta property='og:description'  content='".$aciklama."' />
         <meta property='og:url' content='".$url."' />
         <meta property='og:image' content='".$resim."' />
      ");






sayfanızı yenileyin ve kaynak kodlara bakın. <head></head> tagları arasında bu değişikliği göreceksiniz. Birde sayfanızı örneğin facebookta paylaşın.. Sorunsuz ve kesin doğru bilgi ve görselle paylaşım gerçekleşecektir.

Daha geniş örneklemek gerekirse, son güncel konulardan birisi de kitap modülüydü. Kitap modülü için gelişmiş bir SEO hazırlamak istersek. OGP taglarımızı şu şekilde geliştirebiliriz.

Prototip....
Kaynağı İndir  Kod

book:author - Dizedir  - Bir veya Birden Fazla virgülle ayrışmış yazar adı.
book:isbn - string - ISBN Numarası
book:release_date - datetime -Yayıyn Tarihi
book:tag - string array - String(metinsel) Dize---> Virgülle ayrılmış etiketleriniz..  Örn : X Kitabı, X eğitim, Aşk, Sevgi, vs.





Kullanımına gelecek olursak...
Kaynağı İndir  Kod


<meta property="og:book:author" content="KREKLAM,AvaLoN" />
<meta property="og:book:isbn" content="fusiontr.com" />
<meta property="og:book:release" content="27.06.2017" />
<meta property="og:book:tag" content="php-fusion, bootstrap entegrasyonu, en kolay cms, en iyi iyc, vs.." />





Ve Gelelim Makale veya blog yazılarınıza... O zaman OGP metanız aşağıdaki gibi olacaktır.

Kaynağı İndir  Kod

<meta property="og:article:published_time" content="Makale Yayın Tarihi" />
<meta property="og:article:modified_time" content="Son Güncelleme Tarihi" />
<meta property="og:article:expiration_time" content="Sonlanma tarihi..." />
<meta property="og:article:author" content="Makale Yazarı" />
<meta property="og:article:section" content="Makale Kategorisi" />
<meta property="og:article:tag" content="Anahtar Kelimeler, Hash Taglar, Etiketler..." />





Yada Video Galeri için..
Kaynağı İndir  Kod

video:actor - profile array - Actors in the movie.
video:actor:role - string - The role they played.
video:director - profile array - Directors of the movie.
video:writer - profile array - Writers of the movie.
video:duration - integer >=1 - The movie's length in seconds.
video:release_date - datetime - The date the movie was released.
video:tag - string array - Tag words associated with this movie.






Veya Müzik paylaşımı için
Kaynağı İndir  Kod

music:song - music.song - The song on this album.
music:song:disc - integer >=1 - The same as music:album:disc but in reverse.
music:song:track - integer >=1 - The same as music:album:track but in reverse.
music:musician - profile - The musician that made this song.
music:release_date - datetime - The date the album was released.





Veya fotoğraf galerileriniz için
Kaynağı İndir  Kod

<meta property="og:image" content="http://example.com/rock.jpg" />
<meta property="og:image:width" content="300" />
<meta property="og:image:height" content="300" />
<meta property="og:image" content="http://example.com/rock2.jpg" />
<meta property="og:image" content="http://example.com/rock3.jpg" />
<meta property="og:image:height" content="1000" />





daha fazlabilgi için ogp.me adresini ziyaret edebilir, prototipleri inceleyebilirsiniz
ÇIRAK USTAYI SOLLAMAZSA SANAT ÖLÜR
HATALI SOLLARSA ÇIRAK ÖLÜR
http://www.krekla...
http://www.elli7.net
 
Atlanılacak Forum: