[eluser]CroNiX[/eluser]
Because you pass $data (and not $this->data) to your view, so that's what's available to it. In your view you'd have to access $this->data directly since you're not passing it.
Or if you want it to work the way I think you want it to, change everything to $this->data and pass $this->data to the view.
Then in the construct of your base controller, you can set the default title as you are, and then override it in your actual controller if a title exists.
Like in the constructor of the base controller:
Code:
$this->data['pageTitle'] = 'my default title';
Then in the actual controller:
Code:
if (some condition)
{
//override the default
$this->data['pageTitle'] = 'my custom title';
}
$this->load->view('your_view', $this->data);