intranet-drupal-temasına-php-ile-müdahale-etme

                                    PHP İLE DRUPAL TEMASINA MÜDAHALE ETMEK

           Geliştirdiğimiz bir site için html ve css yeterli olmayabilir. Html siteye dinamik özellik vermez. Drupal tabanlı sitelere php ile dinamik özellik verilir ve geliştirilir.
Şimdi drupal sitesi gelişimi sırasında php ile nasıl müdahale edilir inceleyeceğiz.

    Drupal kurulumunda olduğu gibi yine bilgisayarımızın konsol bölümünde komut satırına “su” yazarız. Yazdıktan sonra karşımıza çıkan  “Parola” bölümüne şifremizi girerek root kullanıcısına  geçeriz.

     Drupal içindeki temalar, themes klasöründe tutulur. Temaların bulunduğu dosyaya erişmek için aşağıdaki komutu yazarız.

     Örnegin, drupal kurulumu sırasında hazır olarak gelen bartik temasını inceleyelim. Root kullanıcısı olarak komut satırına “ cd   /var/www/html/drupal-7.2/themes “  yazarak temaların bulunduğu dizine gideriz. Burada bartik temasını seçeriz. Templates klasöründeki “page.tpl.php”   
dosyasında drupaldeki php kodları bulunur. Php bilgimizle bu kodlarda değişiklik yapailiriz.

                                                   

                                Php ile Siteden Logo Kaldırmak 

  Örneğin, sitemizdeki logo ayarlama işlemi page.tpl.php dosyasında yapılır. Logo kısmına müdahele etmeden önce sitemizin başlığı aşağıdaki gibidir.


<?php if ($logo): ?>
      <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo">
       <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
      </a>
    <?php endif; ?>

      Php'de değişkenler $ işareti ile gösterilir. Burada logo değişkeni logonun bulunduğu yolu tutar. Eğer logo değişkenimiz varsa front_page isimli sayfa çıkar. Logo basılır.
      Bu fonksiyonu aşağıdaki gibi comment satırlarıyla pasif hale getirirsek sitemizde logoyu kapatmış oluruz.  

   

    Yapılan işlem sonucu sitemizin başlığı aşağıdaki gibi görünür. Logoyu kaldırmış oluruz.

 

                                         Blokların Özelliklerini Değiştirme      

    Sitemizin sağ tarafında bulunan (aşağıda kırmızı renk içinde gösterilen alan) second sidebar bloğunun özelliklerini php ile değiştirebiliriz.

Gerekli müdahaleyi aşağıdaki yerden (page.tpl.php dosyası) gördüğümüz şekilde yapabiliriz.

    

 

<?php if ($page[‘sidebar_second’]): ?>
      <div id="sidebar-second" class="column sidebar"><div class="section">
        <?php print render($page[‘sidebar_first’]); ?>
      </div></div> <!– /.section, /#sidebar-first –>
    <?php endif; ?>


“sidebar-second” bloğu özelliklerini sidebar-first css'inden alır. Bunu  <div id="sidebar-second" class="column sidebar”> kısmından anlarız. Bunu;
    <div id="breadcrumb" class="column sidebar”> olarak değiştirirsek breadcrumb bloğunun özellikleri sidebar-second bloğunda kullanılır.
 

Değişikliği yaptıktan sonra aşağıda gördüğümüz gibi sitemizdeki sidebar second bloğu breadcrumb gibi tüm satıra yayılır.

                         

 

                             Php İle Drupal Elemanlarını Ekrana Yazdırma

       Drupal'de sayfaların ekrana yazılması php dosyalarında bulunur. Php içinde bulunan “print render” fonksiyonu bu görevi üstlenir. Aşağıdaki php kodunda footer elemanların nasıl ekrana yansıdığı görülür. Ilk önce if fonksiyonuyla sayfaların olup olmadığı kontrol edilir. Sonra render ile sayfalar ilgili divisionlara gönderilir.  Müdahale etmeden önceki footer bölgesini görünümü aşağıdadır.

 

     Örneğin, footer_firstcolumn 'ın bulunduğu bölgeye bu elemanı değilde sidebar_first bloğundaki  elemanı göndermek istersek,  <?php print render($page[‘footer_firstcolumn’]); ?> ifadesinin yerine  <?php print render($page[‘sidebar_first’]); ?> yazmamız gerekir.
   
<?php if ($page[‘footer_firstcolumn’] || $page[‘footer_secondcolumn’] || $page[‘footer_thirdcolumn’] || $page[‘footer_fourthcolumn’]): ?>
      <div id="footer-columns" class="clearfix">
        <?php print render($page[‘footer_firstcolumn’]); ?>
        <?php print render($page[‘footer_secondcolumn’]); ?>
        <?php print render($page[‘footer_thirdcolumn’]); ?>
        <?php print render($page[‘footer_fourthcolumn’]); ?>
      </div> <!– /#footer-columns –>
    <?php endif; ?>   

         Müdahale ettikten sonra sitemizde meydana gelen değişimi aşağıda görebiliriz. 

 

 

Aynı müdahaleyi triptych elemanlrı için de yapabilriz.


                                                          Yorumları  Gizleme
     Drupal sitemize aynı zamanda node.tpl.php sayfası ile de müdahale edebiliriz. Örneğin sitemizde yorumları göstermemek istiyorsak bu sayfadan müdahale edebiliriz. Sitemizin aşağıdaki halinde kullanıcı yapılan yorumları görebiliyor. Bartik temasında bu işlem aşağıdaki gibi yapılır.


 

 

Yorumları kapatmak için themes/bartik/templates dizinindeki node.tpl.php dosyasını açarız.
<?php print render($content[‘comments’]); ?>  ifadesini aşağıdaki gibi comment satırlarıyla pasif hale getiririz.

<?php  <?php print render($content[‘comments’]); ?>  ?>


 

        Aşağıdaki resimde yorumları kaldırılmış halin görüntüsü vardır.