2017-02-21 12 views
1

現在、Prestashop 1.6.1.11を掘り下げようとしています。私はそれを少し理解しますが、私は経験があるとは言いません。Prestashop 1.6.1.11ユーザーがログに記録していない場合(これは)

私は、ユーザーがログインしているかどうかを確認しています。これは、.tplファイルを使用している他の場所の例です。しかし、ユーザーがログインしていない場合、私はアクションを実行する必要があります。私が見つけたスレッドはその逆です。

ユーザーがshow要素を記録していない場合。

私はPrestaShopのフォーラムで、このライン{if $logged} ..... {/if}を見つけましたが、スレッドはかなり古いですし、私はそれが戻ってバージョン1.5にまでさかのぼり、これは、最大保持しているかはわかりません。私はここで私の経験不足を示しているかもしれませんが、あなたが尋ねるまで知りません。

私が達成しようとしている具体的な背景としては、サインイン要素を中央に重ねて全幅/高さ画像を表示することです。

私は基本的にユーザーにと対話してサインインするために使用するための唯一の要素を与えたい。

私は十分に自分自身を説明している願って、任意のヘルプは高く評価されます。私は探し続けるでしょう。何か役に立つものがあれば、ここに投稿します。

編集

Link to Prestashop thread.

My Own Prestashop question.

答えて

1

ので、いくつかの掘削後、私は私が所望の機能を得るために、以下を使用することができました。

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

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

    {else} 

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

    {/if} 
</div> 

このコードは、header.tplテーマファイル内に配置する必要があります。この変数は、メソッドinit()でクラス/classes/controller/FrontController.phpに定義されている


$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

私はより多くの情報を追加するためにあなたの質問を編集しました。しかし、あなたのテンプレートで使われている変数は '$ is_logged'で、' $ logged'ではありません。 –

+0

@FlorianLemaitreアシストのおかげで、このファイルは検索の早い段階で見つけようとしていましたが、見つけたときには短くなりました。もう一度教えていただきありがとうございます。 – Beaniie

+0

しかしながら、 '$ logged'は完全に機能的で問題のないように見えます。あなたはなぜ私の理解を助けることができますか? – Beaniie

関連する問題