По причинам, которые меня не устраивают, переменная сеанса, содержащая имя клиента, будет отображаться на короткое время, а затем исчезнет.
В app_controller.php: beforeFilter ()
if (isset($_SESSION['customer_name']) == false ||
strlen($_SESSION['customer_name']) == 0)
{
$customer = $this->Customer->read(null, $auth['User']['customer_id']);
$name = $customer['Customer']['fname'] . " " . $customer['Customer']['lname'];
$this->Session->write('customer_name', $name);
$this->set('name', $this->Session->read('customer_name'));
}
else
{
$this->set('name', $this->Session->read('customer_name'));
}
Я пробовал варианты проверки, чтобы увидеть, установлен ли сеанс, такой как
if ($this->Session->check('customer_name') == false)
Все ведет себя одинаково странным образом, некоторое время будет отображаться в представлении, а затем исчезнет. Не возвращается при закрытии браузера или повторном входе. Случайные небольшие изменения в этом коде, похоже, возвращают его к жизни на короткое время.