Prestashop $angemeldet und $is_logged
Bekomme ich Problem mit Smarty, manchmal in der Standard-code existiert $is_logged
..\modules\blockuserinfo\blockuserinfo.php
[...]
public function hookDisplayTop($params)
{
if (!$this->active)
return;
$this->smarty->assign(array(
[...]
'is_logged' => $this->context->customer->isLogged(),
[...]
));
return $this->display(__FILE__, 'blockuserinfo.tpl');
}
[...]
..\themes\presta-bootstrap\modules\blockuserinfo\nav.tpl
<!-- Block user information module NAV -->
{if $is_logged}
<div class="header_user_info">
[...]
</div>
{/if}
aber es ist keine Arbeit, bis ändern var name in .tpl auf $angemeldet. Dann plötzlich, es funktioniert! Wie?
Ähnlichen situation.
..\themes\presta-bootstrap\order-opc.tpl
<!-- Shopping Cart -->
{include file="$tpl_dir./shopping-cart.tpl"}
<!-- End Shopping Cart -->
{if $is_logged AND !$is_guest}
{include file="$tpl_dir./order-address.tpl"}
{else}
<!-- Create account /Guest account /Login block -->
{include file="$tpl_dir./order-opc-new-account.tpl"}
<!-- END Create account /Guest account /Login block -->
funktioniert nur richtig, wenn ich ersetzen $is_logged mit $angemeldet. Sowohl Fall nicht um Fehler, nur um FALSE-Wert und geben unerwartete resuts.
Wo sollte ich suchen für Gründe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lassen Sie uns deutlich machen, Schritt für Schritt
$logged
und$is_logged
nur Smarty-Variablen, das bedeutet, Sie sind irgendwo definiert.Ich bin mir nicht sicher, welche version Sie verwenden, in 1.6.0.11 in blockuserinfo.php sehe ich definiert:
this->smarty->assign(array(
...
'logged' => $this->context->customer->isLogged(),
von der anderen Seite in classes/controllers/Frontcontroller.php in
init()
Methode, die Sie kann finden Sie unter:'is_logged' => (bool)$this->context->customer->isLogged(),
und dann unten:
//Deprecated
$this->context->smarty->assign(array(
...
'logged' => $this->context->customer->isLogged(),
Zwei Schlussfolgerungen Folgen:
$is_logged
,$logged
gelöscht werden können, die in den nächsten Versionen.Können Sie es leicht z.B. durch replasing FrontController Variablen auf einige dummy-Werten wie " xxx " und " yyy " und dann in Ihre nav.tpl wie
{$is_logged} = {$logged}
.Hoffen, dass es hilft, Sie besser zu verstehen situation.