Header Nesnesi İle View Dosyasına Başlık etiketleri eklemek

0

Tarih : 09-11-2009 | Yazan : Hüseyin Bora | Kategori : PHP, PHP Faces

Header nesnesi FacesRenderer sınıfı faces dosyasını ayrıştırken <head> etiketi ile karşılaştığında otomatik olarak bir Header nesnesi oluştur render işleminin sonucunda da bu header nesnesini döndürür. Header nesnesi sayfanın <head> </head> aralığına ekleme yapmak için kullanılır.
Header sınıfının metotları şöyledir

  • addMeta(string name, string content) görüm’e bir meta etiketi ekler
  • addScript(string file) görüm’e file ile belirtilen dosya adı ile script etiketi ekler
  • addLink(string file) görüm’e file ile belirtilen dosya adı ile link etiketi ekler rel=”stylesheet” type=”text/css” niteliklerini kullanır
  • setTitle(string title) sayfa başlığını değiştirir
  • addText(string text)  text parametresini <head> </head> etiketleri arasına ekler.

Örnek

<?php

require_once ("config.php");

import("phpf.controllers.facete");
class Head extends Facete {

public function Head() {

parent::Facete();
$this->render("view.html");
}
function dugmeClicked($e) {
$head =FacesRenderer::getHeader();
$head->setTitle("Butona Tıklayınca Başlğı değiştirdim");
}

public function prerender() {
$head= FacesRenderer::getHeader();
$head->addMeta("description", "PHP Faces MVC Framework");
$head->addMeta("keywords", "PHP,ORM,MVC,AJAX");
$head->addScript("scritp.js");
$head->addLink("style.css");
}
}

Dispatcher::dispatchclass("head");
?>

Görünüm

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<faces>
<@import taglib="phpf.ui.button" prefix="f"/>
<f:button name="dugme" text="Tıkla1" onclick="actionevent"/>
</faces>
</body>
</html>

Header nesnesi

FacesRenderer sınıfı faces dosyasını ayrıştırken <head> etiketi ile karşılaştığında otomatik olarak bir Header nesnesi oluştur render işleminin sonucunda da bu header nesnesini döndürür. Header nesnesi sayfanın <head> </head> aralığına ekleme yapmak için kullanılır.

Header sınıfının metotları şöyledir

  • addMeta(string name, string content) görüm’e bir meta etiketi ekler
  • addScript(string file) görüm’e file ile belirtilen dosya adı ile script etiketi ekler
  • addLink(string file) görüm’e file ile belirtilen dosya adı ile link etiketi ekler rel=”stylesheet” type=”text/css” niteliklerini kullanır
  • setTitle(string title) sayfa başlığını değiştirir
  • addText(string text) text parametresini <head> </head> etiketleri arasına ekler.

Örnek

<?php
require_once ("config.php");
import("phpf.controllers.facete");
class Head extends Facete {
    public function Head() {
        parent::Facete();
        $this->render("view.html");
    }
    function dugmeClicked($e) {
        $head =FacesRenderer::getHeader();
        $head->setTitle("Butona Tıklayınca Başlğı değiştirdim");
    }
    public function prerender() {
        $head= FacesRenderer::getHeader();
        $head->addMeta("description", "PHP Faces MVC Framework");
        $head->addMeta("keywords", "PHP,ORM,MVC,AJAX");
        $head->addScript("scritp.js");
        $head->addLink("style.css");
    }
}
Dispatcher::dispatchclass("head");
?>
 
 

Görünüm

<html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<faces>
    <@import taglib="phpf.ui.button" prefix="f"/>
    <f:button name="dugme" text="Tıkla1" onclick="actionevent"/>
</faces>
</body>
</html>
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Bileşen Niteliklerine Controllerdan Erişim Örnek Style Kullanımı

0

Tarih : 11-09-2009 | Yazan : Hüseyin Bora | Kategori : PHP Faces

Niteliklere erişiken nesne adı -> nitelik adı şeklindendir. örneğim bir textbox birde button bileşenimiz olsun buttona tıklandığında textbox un rengini değiştirelim.  faces view tanımlaması aşağıdaki gibidir.

<faces>
<@import taglib="phpf.ui.*" prefix="face"/>
<face:textbox name ="yazi"  text ="Merhaba"/>
<face:textbox name ="button"  text ="Rengi Değiştir"/>
</faces>
class Controller extends Facete{
function Controller(){
parent::FacesController();
$this->render("view.html");
}
function buttonClicked($evt){
$this->yazi->setProperty("style", "background:blue");
}
}

Örneğimizde textbox bileşenin style niteliğine background:blue değerini artardık ve rengini değiştirmiş olduk.

Bir niteliği değiştirmek istediğinizde

$this->bilesenadi->nitelik=”deger”;

Ya da

$this->yazi->setProperty(”nitelik”, “değer”);

İki kullanımda gecerlidir.

Şimdi örneğimizi biraz daha geliştirelim bir combobox bileşeninde renkler olsun ve seçilen rengi ajax kullanarak textbox nesnesine uygulayalım.

Örneğimiz için view aşağıdaki şekildedir.

<faces>
<@import prefix="face" taglib="phpf.ui.*"/>
<face:textbox name ="textbox"  text ="Merhaba"/>
Rengi değiştir
<face:combobox name="colors"
bind="array(Aqua,Blue,AliceBlue,Beige,Black,Brown ,Navy,Pink,Red,Orange,Yellow ,White,Green)"
onchange="ajaxevent">
</face:combobox>
</faces>
import("phpf.controllers.facete");
class Style extends Facete
{
function Style()
{
parent::Facete();
$this->render("view.phpf");
}

protected function colorsChanged($evt)
{
$color = $this->colors->getSelected();
$this->textbox->setProperty("style","background:$color");
$this->AjaxResponse();
}
}

İşte Uygulamamızın Çalışır hali.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)