2017-02-21 2 views
1

en train d'essayer de creuser mon chemin Prestashop, 1.6.1.11. Je comprends un peu mais je ne dirais pas que je suis expérimenté.Prestashop 1.6.1.11 Si l'utilisateur ne montrent connecté (Ce).

Je suis après un moyen de vérifier si l'utilisateur est connecté, que j'ai trouvé des exemples de ce à l'aide d'autres fichiers tpl. Cependant j'ai besoin d'actionner une réponse si l'utilisateur n'est pas identifié Le fil que j'ai trouvé est l'inverse de celui.

par exemple, Si l'utilisateur n'est pas connecté, affichez l'élément.

Je trouve cette ligne {if $logged} ..... {/if}, sur les forums de prestashop, mais le fil est assez vieux et je ne sais pas si cela est comme il remonte à la version 1.5. Je peux montrer mon inexpérience ici, mais vous ne savez pas jusqu'à ce que vous demandiez.

Comme un peu de fond à ce qu'il est précisément que je suis en train de réaliser est d'afficher une image pleine largeur/hauteur avec un élément de signe en couches sur le dessus au sein du centre.

Je veux essentiellement donner à l'utilisateur un seul élément d'interagir avec et utiliser pour vous connecter.

J'espère que je me suis expliqué assez bien, toute aide est appréciée. Je vais continuer à chercher et si je trouve quelque chose d'utile, je l'afficherai ici.

Modifier

Link to Prestashop thread.

My Own Prestashop question.

Répondre

1

Ainsi, après quelques recherches, j'ai pu utiliser ce qui suit pour obtenir la fonction que je désirais.

<!-- Check Login --> 
<div id="check-log"> 
    {if $is_logged} 

    <a href=".." id="Logout" />Logout</a> 

    {else} 

    <a href=".." id="Login" />Login</a> 

    {/if} 
</div> 

Ce code doit être placé dans le fichier Thème header.tpl.


Cette variable est définie dans la classe /classes/controller/FrontController.php dans la méthode init():

$this->context->smarty->assign(array(
    // Useful for layout.tpl 
    'mobile_device'  => $this->context->getMobileDevice(), 
    'link'    => $link, 
    'cart'    => $cart, 
    'currency'   => $currency, 
    'currencyRate'  => (float)$currency->getConversationRate(), 
    'cookie'    => $this->context->cookie, 
    'page_name'   => $page_name, 
    'hide_left_column' => !$this->display_column_left, 
    'hide_right_column' => !$this->display_column_right, 
    'base_dir'   => _PS_BASE_URL_.__PS_BASE_URI__, 
    'base_dir_ssl'  => $protocol_link.Tools::getShopDomainSsl().__PS_BASE_URI__, 
    'force_ssl'   => Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE'), 
    'content_dir'   => $protocol_content.Tools::getHttpHost().__PS_BASE_URI__, 
    'base_uri'   => $protocol_content.Tools::getHttpHost().__PS_BASE_URI__.(!Configuration::get('PS_REWRITING_SETTINGS') ? 'index.php' : ''), 
    'tpl_dir'    => _PS_THEME_DIR_, 
    'tpl_uri'    => _THEME_DIR_, 
    'modules_dir'   => _MODULE_DIR_, 
    'mail_dir'   => _MAIL_DIR_, 
    'lang_iso'   => $this->context->language->iso_code, 
    'lang_id'    => (int)$this->context->language->id, 
    'language_code'  => $this->context->language->language_code ? $this->context->language->language_code : $this->context->language->iso_code, 
    'come_from'   => Tools::getHttpHost(true, true).Tools::htmlentitiesUTF8(str_replace(array('\'', '\\'), '', urldecode($_SERVER['REQUEST_URI']))), 
    'cart_qties'   => (int)$cart->nbProducts(), 
    'currencies'   => Currency::getCurrencies(), 
    'languages'   => $languages, 
    'meta_language'  => implode(',', $meta_language), 
    'priceDisplay'  => Product::getTaxCalculationMethod((int)$this->context->cookie->id_customer), 
    'is_logged'   => (bool)$this->context->customer->isLogged(), 
    'is_guest'   => (bool)$this->context->customer->isGuest(), 
    'add_prod_display' => (int)Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 
    'shop_name'   => Configuration::get('PS_SHOP_NAME'), 
    'roundMode'   => (int)Configuration::get('PS_PRICE_ROUND_MODE'), 
    'use_taxes'   => (int)Configuration::get('PS_TAX'), 
    'show_taxes'   => (int)(Configuration::get('PS_TAX_DISPLAY') == 1 && (int)Configuration::get('PS_TAX')), 
    'display_tax_label' => (bool)$display_tax_label, 
    'vat_management'  => (int)Configuration::get('VATNUMBER_MANAGEMENT'), 
    'opc'     => (bool)Configuration::get('PS_ORDER_PROCESS_TYPE'), 
    'PS_CATALOG_MODE'  => (bool)Configuration::get('PS_CATALOG_MODE') || (Group::isFeatureActive() && !(bool)Group::getCurrent()->show_prices), 
    'b2b_enable'   => (bool)Configuration::get('PS_B2B_ENABLE'), 
    'request'    => $link->getPaginationLink(false, false, false, true), 
    'PS_STOCK_MANAGEMENT' => Configuration::get('PS_STOCK_MANAGEMENT'), 
    'quick_view'   => (bool)Configuration::get('PS_QUICK_VIEW'), 
    'shop_phone'   => Configuration::get('PS_SHOP_PHONE'), 
    'compared_products' => is_array($compared_products) ? $compared_products : array(), 
    'comparator_max_item' => (int)Configuration::get('PS_COMPARATOR_MAX_ITEM'), 
    'currencySign'  => $currency->sign, // backward compat, see global.tpl 
    'currencyFormat'  => $currency->format, // backward compat 
    'currencyBlank'  => $currency->blank, // backward compat 
)); 

// Deprecated 
$this->context->smarty->assign(array(
    'id_currency_cookie' => (int)$currency->id, 
    'logged'    => $this->context->customer->isLogged(), 
    'customerName'  => ($this->context->customer->logged ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : false) 
)); 
+1

J'ai modifié votre question pour ajouter d'autres informations. Mais la variable utilisée dans votre modèle doit être '$ is_logged' et non' $ logged'. –

+0

@FlorianLemaitre Merci pour l'aider, j'a essayé de trouver ce fichier à refrence plus tôt dans ma recherche, mais je viens à court quand le localiser. Merci encore, c'est un matériel d'apprentissage précieux. – Beaniie

+0

Sur une note latérale cependant, '$ logged' semble être complètement fonctionnel et non-problématique. Pourriez-vous m'aider à comprendre pourquoi? – Beaniie