2015-04-18 28 views
5

bilgilerini kancadan görüntüye geçirebilirim, mümkünse lütfen açıklayınız. Örneğinkodundan veriye kopyalamak için

$hook['post_controller_constructor'][] = array(
    'class' => 'Varify_user', 
    'function' => 'user_project', 
    'filename' => 'varify_project.php', 
    'filepath' => 'hooks', 
    'params' => array('') 
); 

i görüntülemek için bazı dizi veri varify_project.php (kanca dosyası) göndermek istediğiniz için

.

+0

Eğer bazı dizi eklemek istediğiniz anlamına veri görünümünüze '$ this-> load-> view ('view', $ data) gibi' '' '$' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' –

+0

Kesinlikle doğru ... –

cevap

1

ben bunu

uygulama/çekirdek/MY_Loader.php

class MY_Loader extends CI_Loader { 
    static $add_data = array(); 
    public function view($view, $vars = array(), $return = FALSE) 
    { 
     self::$add_data = array_merge($vars, self::$add_data); 
     return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array(self::$add_data), '_ci_return' => $return)); 
    } 
} 

application/config/hooks.php

$hook['post_controller_constructor'] = function() { 
    MY_Loader::$add_data['hello'] = "Hello World"; 
} ; 
+1

Sorunuzun cevabını, kodunuzun neden ve nasıl çözdüğünü açıklayan bir açıklama eklemek için düşünün. – Mephy

+1

@Mephy ile aynı fikirdeyim ve en son katkılarınızla aynı geri bildirim sunuldu. Bu soruyla ilgili herhangi bir düzenleme yapılmadığından, özür dilemekle reddediyorum. Bir cümle veya iki tane eklemek istemezseniz, DV'yi memnuniyetle çıkaracağım. – halfer

+0

Gerçekten de, basit kodların bu dizelerine ne eklenebileceğini anlamıyorum. Görünüşe göre, Codeigniter'in kancalarıyla çalışanlar için açık. – splash58

3

görünümü yükleme zamanında ek veri ekleme isteyen vardır, bu gibi çekirdek yükleyici sınıfı genişletmek:

uygulama/çekirdek/MY_Loader.php

<?php 
class MY_Loader extends CI_Loader { 
    public function view($view, $vars = array(), $return = FALSE) 
    { 
     $vars['hello'] = "Hello World"; 
     return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return)); 
    } 
} 

$vars['hello'], $hello adlı görünümde kullanabileceğiniz bir değişken oluşturacak ve uygulamanızın her sayfasında kullanılmasını istediğinizde herhangi bir değişken oluşturmak için tekrarlanabilecektir.

+0

Merhaba Ben thnx gerçekten .... sizin tarafınızdan iyi deneyin ... Ama sıçrama58 kodu açıklayın. –

+0

@PavnishYadav Bu cevapta herhangi bir açıklama görmüyorum, sadece kodlar. Eğer bu cevabın da iyi olduğunu düşünmüyorsanız, neden olmasın? –

+0

tamam .. Şimdi bu cevabı oylarım. –