Cara tracing error di ci terkait "undefined variable": template_data

Hi sobat coder, saya belajar templating di CI dan mengikuti tutorial, namun terdapat kendala error yang saya tidak mengerti kenapa, ada yang bisa bantu saya? Terima kasih banyak :) berikut kodingannya:

<?php

Class Template{

    var $template_data = array();

    function set($name, $value)
    {
        $this->template_data[$name] = $value;

    }

    function load($template = '', $view ='', $view_data = array(), $return = FALSE)
    {
        $this->CI =& get_instance();
        $this->set('contents', $this->CI->load->view($view, $view_data, TRUE));
        return $this->CI->load->view($template, $this->$template_data, $return);
    }
}

ERROR WARNING :

A PHP Error was encountered Severity: Notice

Message: Undefined variable: template_data

Filename: libraries/Template.php

Line Number: 17

Backtrace:

File: C:\xampp\htdocs\MyPos\application\libraries\Template.php Line: 17 Function: _error_handler

File: C:\xampp\htdocs\MyPos\application\controllers\Dashboard.php Line: 7 Function: load

File: C:\xampp\htdocs\MyPos\index.php Line: 315 Function: require_once

A PHP Error was encountered Severity: Notice

Message: Undefined property: Template::$

Filename: libraries/Template.php

Line Number: 17

Backtrace:

File: C:\xampp\htdocs\MyPos\application\libraries\Template.php Line: 17 Function: _error_handler

File: C:\xampp\htdocs\MyPos\application\controllers\Dashboard.php Line: 7 Function: load

File: C:\xampp\htdocs\MyPos\index.php Line: 315 Function: require_once

avatar adiernes
@adiernes

24 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

untuk memanggil view di codeigniter cukup dengan perintah ini

<pre> $this-&gt;load-&gt;view('nama file viewnya apa', 'disini parameter kedua untuk mengirim data ke views jika ada dan jika tidak ada cukup satu parameter saja'); </pre>

perintah $this-&gt;load-view() akan otomatis memanggil file view di dalam folder views, jadi pastikan kamu menyimpan file viewnya di folder views.

untuk contoh lengkapnya lihat contoh dibawah ini

<pre> &lt;?php class Home extends CI_Controller { public function index() { $this-&gt;load-&gt;view('index'); } } </pre>

pada contoh di atas saya membuat sebuah controller dengan nama Home yang akan memanggil view bernama index di dalam folder views, dan controller yang saya buat dapat di akses di http://localhost/Home/

Semooga membantu ya .. :D

avatar rizki4106
@rizki4106

41 Kontribusi 24 Poin

Dipost 4 tahun yang lalu

Itu var nya di template_data di ganti pake yg lain public, protected, atau private

Di sini penjelasannya https://www.php.net/manual/en/language.oop5.visibility.php

avatar markeronly
@markeronly

378 Kontribusi 230 Poin

Dipost 4 tahun yang lalu

Tanggapan

ini jawaban yang menurutku bener.. coba di pahami dulu konsep OOP nya hehehe... @adierner

Saya coba ganti pakai public, supaya variable $template_data bisa diakses utk semua kelas. Tapi masih error.. [code] public $template_data = array();

function set($name, $value)
{
    $this->template_data[$name] = $value;

}

[/code]

return $this->CI->load->view($template, $this->$template_data, $return);

Apakah ada yang salah dengan pemanggilannya?

Trims

Bg saya ingin belajar. Tapi saya bingung Bg mau mulai dari mna bg. Saya belum mengenal dasar

avatar Fashhan
@Fashhan

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Tanggapan

Coba kamu belajar dasar dulu, ketik di google keywordnya = Belajar Dasar Desain Web, kalo sudah belajar web desain selanjutnya Belajar pemrograman web crud

Login untuk ikut Jawaban