آموزش برطرف کردن خطای قدیمی شدن الگوی PAGE_CONTAINER بعد از بروز رسانی زنفورو 2.2.0 به 2.2.1

تالار مربوطه

محمد

کاربر کادر مدیریت
مدیر ارشد
کاربر ویژه پلاس
تاریخ ثبت‌نام
9/10/20
ارسالات
413
پسندها
757
دست‌آوردها
93
سن
22
محل سکونت
Iran
وب سایت
pylove.ir
نسخه PHP
7.3.1
نسخه زنفورو
xenforo 2.1
  • نویسنده موضوع
  • مدیریت
  • #1
سلام حضرات عالی
متاسفانه بعد از بروزرسانی زنفورو 2.2.0 به 2.2.1 در پنل مدیرکل با خطای قدیمی‌شدن الگوی PAGE_CONTAINER مواجه خواهید شد.
گرچه تغییرات این الگو ذکر نشده بود اما اینجور که معلومه یه جور حواس پرتی از طرف مدیریت اصلی و سازندگان زنفورو بوده.
برای برطرف کردن این مشکل مراحل زیر را انجام دهید.
ابتدا وارد صفحه‌ی مدیر کل شوید ، سپس مسیر زیر را طی کنید:
  1. شکل و ظاهر
  2. استایل‌ها و الگوها
  3. الگوها
سپس دنبال الگوی PAGE_CONTAINER بگردید.
و درون آن کد زیر را جستجو کنید.

کد:
    <xf:if is="property('publicIconUrl')">
        <link rel="apple-touch-icon" href="{{ base_url(property('publicIconUrl', true)) }}">
    </xf:if>
و اون رو حذف کنید و در همون محل کد زیر را قرار دهید.

کد:
    <xf:if is="property('publicIconUrl')">
        <link rel="apple-touch-icon" href="{{ base_url(property('publicIconUrl', true)) }}">
    <xf:elseif is="property('publicMetadataLogoUrl')" />
        <link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl')) }}" />
    </xf:if>

و ذخیره کنید.

خب موفق باشید.
 

hgfd_ahmadreza

کاربر عضو
تاریخ ثبت‌نام
10/23/20
ارسالات
19
پسندها
5
دست‌آوردها
3
وب سایت
fgsfans.ir
نسخه PHP
7.4
نسخه زنفورو
xenforo 2.1
سلام من متوجه شدم مشکل قالب dimension که تو تاپیک دیگه مطرح کردم و آیکن های انجمن خراب شده بودند مربوط به همین قدیمی شدن page container هست. که بعد از اپدیت انجمن از 2.0 به 2.1 به وجود اومد

منتهی این کدی که گفتید برای این استایل وجود نداره. الگوی پیج کانتینر رو کامل گذاشتم پایین.


کد:
<!DOCTYPE html>
<html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}"
    data-app="public"
    data-template="{$template}"
    data-container-key="{$containerKey}"
    data-content-key="{$contentKey}"
    data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
    data-cookie-prefix="{$xf.cookie.prefix}"
    data-style-id="{$xf.style.style_id}"
    class="has-no-js{{ $template ? ' template-' . $template : '' }}"
    {{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <xf:set var="$siteName" value="{$xf.options.boardTitle}" />
    <xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set>
    <xf:set var="$description"><xf:description /></xf:set>

    <title><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></title>

    <xf:foreach loop="$head" value="$headTag">
        {$headTag}
    </xf:foreach>

    <xf:if is="!$head.meta_site_name && $siteName is not empty">
        <xf:macro template="metadata_macros" name="site_name" arg-siteName="{$siteName}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_type">
        <xf:macro template="metadata_macros" name="type" arg-type="website" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_title">
        <xf:macro template="metadata_macros" name="title" arg-title="{{ page_title() ?: $siteName }}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_description && $description is not empty && $pageDescriptionMeta">
        <xf:macro template="metadata_macros" name="description" arg-description="{$description}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_share_url">
        <xf:macro template="metadata_macros" name="share_url" arg-shareUrl="{$xf.fullUri}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_image_url && property('publicMetadataLogoUrl')">
        <xf:macro template="metadata_macros" name="image_url"
            arg-imageUrl="{{ base_url(property('publicMetadataLogoUrl'), true) }}"
            arg-output="{{ true }}" />
    </xf:if>

    <xf:if is="property('metaThemeColor')">
        <meta name="theme-color" content="{{ parse_less_color(property('metaThemeColor')) }}" />
    </xf:if>

    <xf:if is="property('xenfocus_includeCSS')">{{ property('xenfocus_includeCSS') }}</xf:if>

    <xf:macro template="helper_js_global" name="head" arg-app="public" />

    <xf:if is="property('publicFaviconUrl')">
        <link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl')) }}" sizes="32x32" />
    </xf:if>
    <xf:if is="property('publicMetadataLogoUrl')">
        <link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl'), true) }}" />
    </xf:if>
    <xf:include template="google_analytics" />

    <xf:include template="xenfocus_onload_js" />

</head>
<body data-template="{$template}">


<xf:set var="$userHtml">

    <!-- User bar -->

    <div class='focus-wrap-user'>
        <div class="p-nav-opposite">
            <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
                <xf:if is="$xf.visitor.user_id">
                    <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'">
                        <a href="{{ link('account') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user">
                            <xf:avatar user="$xf.visitor" size="xxs" href="" />
                            <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
                        </a>

                        <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="p-navgroup-link">
                            <span class="p-navgroup-linkText">{{ phrase('log_out') }}</span>
                        </a>
                    <xf:else />
                        <a href="{{ link('account') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"
                            data-xf-click="menu"
                            data-xf-key="{{ phrase('shortcut.visitor_menu') }}"
                            data-menu-pos-ref="< .p-navgroup"
                            aria-expanded="false"
                            aria-haspopup="true">
                            <xf:avatar user="$xf.visitor" size="xxs" href="" />
                            <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
                        </a>
                        <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true"
                            data-href="{{ link('account/visitor-menu') }}"
                            data-load-target=".js-visitorMenuBody">
                            <div class="menu-content js-visitorMenuBody">
                                <div class="menu-row">
                                    {{ phrase('loading...') }}
                                </div>
                            </div>
                        </div>

                        <a href="{{ link('conversations') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"
                            data-badge="{$xf.visitor.conversations_unread|number}"
                            data-xf-click="menu"
                            data-xf-key="{{ phrase('shortcut.conversations_menu') }}"
                            data-menu-pos-ref="< .p-navgroup"
                            aria-expanded="false"
                            aria-haspopup="true">
                            <i aria-hidden="true"></i>
                            <span class="p-navgroup-linkText">{{ phrase('inbox') }}</span>
                        </a>
                        <div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
                            data-href="{{ link('conversations/popup') }}"
                            data-nocache="true"
                            data-load-target=".js-convMenuBody">
                            <div class="menu-content">
                                <h3 class="menu-header">{{ phrase('conversations') }}</h3>
                                <div class="js-convMenuBody">
                                    <div class="menu-row">{{ phrase('loading...') }}</div>
                                </div>
                                <div class="menu-footer menu-footer--split">
                                    <span class="menu-footer-main">
                                        <a href="{{ link('conversations') }}">{{ phrase('show_all...') }}</a>
                                    </span>
                                    <span class="menu-footer-opposite">
                                        <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a>
                                    </span>
                                </div>
                            </div>
                        </div>

                        <a href="{{ link('account/alerts') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}"
                            data-badge="{$xf.visitor.alerts_unread|number}"
                            data-xf-click="menu"
                            data-xf-key="{{ phrase('shortcut.alerts_menu') }}"
                            data-menu-pos-ref="< .p-navgroup"
                            aria-expanded="false"
                            aria-haspopup="true">
                            <i aria-hidden="true"></i>
                            <span class="p-navgroup-linkText">{{ phrase('alerts') }}</span>
                        </a>
                        <div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
                            data-href="{{ link('account/alerts-popup') }}"
                            data-nocache="true"
                            data-load-target=".js-alertsMenuBody">
                            <div class="menu-content">
                                <h3 class="menu-header">{{ phrase('alerts') }}</h3>
                                <div class="js-alertsMenuBody">
                                    <div class="menu-row">{{ phrase('loading...') }}</div>
                                </div>
                                <div class="menu-footer menu-footer--split">
                                    <span class="menu-footer-main">
                                        <a href="{{ link('account/alerts') }}">{{ phrase('show_all...') }}</a>
                                    </span>
                                    <span class="menu-footer-opposite">
                                        <a href="{{ link('account/preferences') }}">{{ phrase('preferences') }}</a>
                                    </span>
                                </div>
                            </div>
                        </div>
                    </xf:if>
                <xf:else />
                    <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn" rel="nofollow" data-xf-click="overlay" data-follow-redirects="on">
                        <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span>
                    </a>
                    <xf:if is="$xf.options.registrationSetup.enabled">
                        <a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register" rel="nofollow" data-xf-click="overlay" data-follow-redirects="on">
                            <span class="p-navgroup-linkText">{{ phrase('register') }}</span>
                        </a>
                    </xf:if>
                </xf:if>
                <xf:if is="property('xenfocus_themeEditor') AND property('xenfocus_editorIcon_user')">
                    <a href="#" class="p-navgroup-link" rel="nofollow" data-xf-init="tooltip" title="Customize" data-xenfocus-editor>
                        <span class="p-navgroup-linkText"></span>
                    </a>
                </xf:if>
              
            </div>

            <div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}">
                <a href="{{ link('whats-new') }}"
                    class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew"
                    title="{{ phrase('whats_new')|for_attr }}">
                    <i aria-hidden="true"></i>
                    <span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span>
                </a>

                <xf:if is="$xf.visitor.canSearch()">
                    <a href="{{ link('search') }}"
                        class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search"
                        data-xf-click="menu"
                        data-xf-key="{{ phrase('shortcut.search_menu') }}"
                        aria-label="{{ phrase('search') }}"
                        aria-expanded="false"
                        aria-haspopup="true"
                        title="{{ phrase('search')|for_attr }}">
                        <i aria-hidden="true"></i>
                        <span class="p-navgroup-linkText">{{ phrase('search') }}</span>
                    </a>
                    <div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true">
                        <form action="{{ link('search/search') }}" method="post"
                            class="menu-content"
                            data-xf-init="quick-search">

                            <h3 class="menu-header">{{ phrase('search') }}</h3>
                            <!--[XF:search_menu:above_input]-->
                            <div class="menu-row">
                                <xf:if is="$searchConstraints">
                                    <div class="inputGroup inputGroup--joined">
                                        <xf:textbox name="keywords"
                                            placeholder="{{ phrase('search...') }}"
                                            aria-label="{{ phrase('search') }}"
                                            data-menu-autofocus="true" />
                                        <xf:select name="constraints"
                                            class="js-quickSearch-constraint"
                                            aria-label="{{ phrase('search_within') }}">

                                            <xf:option value="">{{ phrase('everywhere') }}</xf:option>
                                            <xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
                                                <xf:option value="{$constraint|json}">{$constraintName}</xf:option>
                                            </xf:foreach>
                                        </xf:select>
                                    </div>
                                    <xf:else />
                                    <xf:textbox name="keywords"
                                        placeholder="{{ phrase('search...') }}"
                                        aria-label="{{ phrase('search') }}"
                                        data-menu-autofocus="true" />
                                </xf:if>
                            </div>

                            <!--[XF:search_menu:above_title_only]-->
                            <div class="menu-row">
                                <xf:checkbox standalone="true"><xf:option name="c[title_only]" label="{{ phrase('search_titles_only') }}" /></xf:checkbox>
                            </div>
                            <!--[XF:search_menu:above_member]-->
                            <div class="menu-row">
                                <div class="inputGroup">
                                    <span class="inputGroup-text" id="ctrl_search_menu_by_member">{{ phrase('by:') }}</span>
                                    <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" aria-labelledby="ctrl_search_menu_by_member" />
                                </div><input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" />
                            </div>
                            <div class="menu-footer">
                                <span class="menu-footer-controls">
                                    <xf:button type="submit" class="button--primary" icon="search" />
                                    <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('filters') }}</xf:button>
                                </span>
                            </div>

                            <xf:csrf />
                        </form>
                    </div>
                </xf:if>
            </div>
        </div>
    </div>

</xf:set>


  
  
  
<xf:set var="$xenSearch">
    <div class='focus-wrap-search'>
  
        <xf:if is="$xf.visitor.canSearch()">
            <form action="{{ link('search/search') }}" method="post">
          
            <!-- Search -->
            <div class='focus-search'> 
              
                <div class='focus-search-flex'>
                    <input name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" type="text" />
                    <div class='focus-search-prefix'><i class="fa fa-search" aria-hidden="true"></i></div>
                </div>
              
            </div>
          
            <xf:if is="property('xenfocus_searchMenu')">
                <div class="focus-search-menu">

                    <!--[XF:search_menu:above_input]-->
                    <xf:if is="$searchConstraints">
                        <div class="menu-row">
                            <xf:select name="constraints"
                                class="js-quickSearch-constraint"
                                aria-label="{{ phrase('search_within') }}">

                                <xf:option value="">{{ phrase('everywhere') }}</xf:option>
                                <xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
                                    <xf:option value="{$constraint|json}">{$constraintName}</xf:option>
                                </xf:foreach>
                            </xf:select>
                        </div>
                    </xf:if>

                    <!--[XF:search_menu:above_title_only]-->
                    <div class="menu-row">
                        <xf:checkbox standalone="true"><xf:option name="c[title_only]" label="{{ phrase('search_titles_only') }}" /></xf:checkbox>
                    </div>
                    <!--[XF:search_menu:above_member]-->
                    <div class="menu-row">
                        <div class="inputGroup">
                            <span class="inputGroup-text">{{ phrase('by:') }}</span>
                            <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" aria-labelledby="ctrl_search_menu_by_member" />
                        </div>
                    </div>
                    <div class="menu-footer">
                        <span class="menu-footer-controls">
                            <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('advanced_search...') }}</xf:button>
                            <xf:button type="submit" class="button--primary" icon="search" />
                        </span>
                    </div>

                </div>
            </xf:if>

            <xf:csrf />

            </form>
        </xf:if>

    </div>
</xf:set>

  

  

<xf:set var="$navLinks">
  
    <!-- Navigation wrap -->
    <nav class='focus-wrap-nav'>
        <div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected">
            <div class="hScroller-scroll">
                <ul class="p-nav-list js-offCanvasNavSource">
                <xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
                    <li>
                        <xf:macro name="nav_entry"
                            arg-navId="{$navSection}"
                            arg-nav="{$navEntry}"
                            arg-selected="{{ $navSection == $pageSection }}"
                            arg-shortcut="{$i}" />
                    </li>
                </xf:foreach>
                </ul>
            </div>
        </div>
    </nav>
  
</xf:set>

  
  
  
  
<xf:set var="$nextToLogo">

    <div class='focus-ad'><xf:ad position="container_header" /></div>
  
    {$userHtml|raw}
  
</xf:set>

  
  
  

<xf:set var="$navHtml">
  
    <!-- Secondary header -->
  
    <div class="p-nav">
        <div class="p-nav-inner">
          
            <div class='focus-mobile-navigation'>
                <a class="p-nav-menuTrigger" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" role="button" tabindex="0">
                    <i aria-hidden="true"></i>
                    <span class="p-nav-menuText">{{ phrase('menu') }}</span>
                </a>
                <div class='focus-mobile-logo'>
                    <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
                        <xf:if is="property('publicLogoUrl')">
                            <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
                        <xf:else />
                            <xf:if is="property('xenfocus_logoText')">{{property('xenfocus_logoText')}}<xf:else />{$xf.options.boardTitle}</xf:if>
                        </xf:if>
                    </a>
                </div>
            </div>

            {$userHtml|raw}
            {$navLinks|raw}
            {$xenSearch|raw}

        </div>
    </div>
  
</xf:set>
  
  
  
  
<xf:set var="$subNavHtml">
    <!-- Sub navigation -->
    <xf:if is="$selectedNavChildren is not empty">
        <div class="p-sectionLinks">
            <div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller">
                <div class="hScroller-scroll">
                    <ul class="p-sectionLinks-list">
                    <xf:foreach loop="$selectedNavChildren" key="$navId" value="$navEntry" i="$i">
                        <li>
                            <xf:macro name="nav_entry" arg-navId="{$navId}" arg-nav="{$navEntry}" arg-shortcut="alt+{$i}" />
                        </li>
                    </xf:foreach>
                    </ul>
                </div>
            </div>
        </div>
    <xf:elseif is="{$selectedNavEntry}" />
        <div class="p-sectionLinks p-sectionLinks--empty"></div>
    </xf:if>
</xf:set>

  
  
  
  
<div class="p-pageWrapper" id="top">

<div class='dimension-header'>

    <div class='dimension-header-image-wrap'>
        <div class='dimension-header-image'></div>
    </div>

<!-- Logo bar: start -->
<header class="p-header" id="header">
    <div class="p-header-inner">
        <div class="p-header-content">

            <div class="p-header-logo p-header-logo--image">
                <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
                  
                    <xf:include template="xenfocus_mini_logo" />

                    <span>
                        <xf:if is="property('publicLogoUrl')">
                            <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
                        <xf:else />
                            <span class='focus-logo'><xf:if is="property('xenfocus_logoText')">{{property('xenfocus_logoText')}}<xf:else />{$xf.options.boardTitle}</xf:if></span>
                            <xf:if is="property('xenfocus_logoSlogan')"><span class='focus-logo-slogan'>{{property('xenfocus_logoSlogan')}}</span></xf:if>
                        </xf:if>
                    </span>
                </a>
            </div>

            {$nextToLogo|raw}
          
        </div>
    </div>
</header>

<!-- Secondary header: start -->
<xf:if is="property('publicNavSticky') == 'primary'">
    <div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header">
        <div class='dimension-nav-wrap'>
            <div class='dimension-nav-image'>
                <div class='dimension-nav-blur'></div>
            </div>
            {$navHtml|raw}
        </div>
    </div>
    {$subNavHtml|raw}
<xf:elseif is="property('publicNavSticky') == 'all'" />
    <div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header">
        <div class='dimension-nav-wrap'>
            <div class='dimension-nav-image'>
                <div class='dimension-nav-blur'></div>
            </div>
            {$navHtml|raw}
            {$subNavHtml|raw}
        </div>
    </div>
<xf:else />
    <div class='dimension-nav-wrap'>
        <div class='dimension-nav-image'>
            <div class='dimension-nav-blur'></div>
        </div>
        {$navHtml|raw}
        {$subNavHtml|raw}
    </div>
</xf:if>
<!-- Secondary header: end -->

</div>

<!-- Logo bar: end -->

<div class='focus-width'>

<div class='focus-content'>
  
<div class="p-body">
    <div class="p-body-inner">
        <!--XF:EXTRA_OUTPUT-->
      
        <!-- Staff bar: start -->
        <xf:if contentcheck="true">
            <div class="p-staffBar">
                <div class="p-staffBar-inner hScroller" data-xf-init="h-scroller">
                    <div class="hScroller-scroll">
                    <xf:contentcheck>
                        <xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total">
                            <a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}">
                                {{ phrase('approval_queue') }}
                            </a>
                        </xf:if>

                        <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total">
                            <a href="{{ link('reports') }}"
                                class="p-staffBar-link badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}"
                                data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}"
                                title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">
                                {{ phrase('reports') }}
                            </a>
                        </xf:if>

                        <xf:if contentcheck="true">
                            <a class="p-staffBar-link menuTrigger" data-xf-click="menu" data-xf-key="alt+m" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('moderator') }}</a>
                            <div class="menu" data-menu="menu" aria-hidden="true">
                                <div class="menu-content">
                                    <h4 class="menu-header">{{ phrase('moderator_tools') }}</h4>
                                    <xf:contentcheck>
                                    <!--[XF:mod_tools_menu:top]-->
                                    <xf:if is="$xf.visitor.is_moderator">
                                        <a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a>
                                    </xf:if>
                                    <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId">
                                        <a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a>
                                    </xf:if>
                                    <!--[XF:mod_tools_menu:bottom]-->
                                    </xf:contentcheck>
                                </div>
                            </div>
                        </xf:if>

                        <xf:if is="$xf.visitor.is_admin">
                            <a href="{{ base_url('admin.php') }}" class="p-staffBar-link" target="_blank">{{ phrase('admin') }}</a>
                        </xf:if>
                    </xf:contentcheck>
                    </div>
                </div>
            </div>
        </xf:if>
      
        <xf:include template="xenfocus_guest" />
      
        <xf:if is="$notices.block">
            <xf:macro template="notice_macros" name="notice_list" arg-type="block" arg-notices="{$notices.block}" />
        </xf:if>

        <xf:if is="$notices.scrolling">
            <xf:macro template="notice_macros" name="notice_list" arg-type="scrolling" arg-notices="{$notices.scrolling}" />
        </xf:if>

        <xf:ad position="container_breadcrumb_top_above" />
      
        <div class='focus-breadcrumb'>
            <xf:macro name="breadcrumbs"
                arg-breadcrumbs="{$breadcrumbs}"
                arg-navTree="{$navTree}"
                arg-selectedNavEntry="{$selectedNavEntry}" />
            <xf:if is="property('xenfocus_socialEnable')"><xf:include template="xenfocus_social" /></xf:if>
        </div>

        <xf:include template="xenfocus_countdown" />
          
        <xf:ad position="container_breadcrumb_top_below" />

        <xf:macro template="browser_warning_macros" name="javascript" />
        <xf:macro template="browser_warning_macros" name="browser" />

        <xf:if is="$headerHtml is not empty">
            <div class="p-body-header">
                {$headerHtml|raw}
            </div>
        <xf:elseif contentcheck="true" />
            <div class="p-body-header">
            <xf:contentcheck>
                <xf:if contentcheck="true">
                    <div class="p-title {{ $noH1 ? 'p-title--noH1' : '' }}">
                    <xf:contentcheck>
                        <xf:if is="!$noH1">
                            <h1 class="p-title-value">{$h1}</h1>
                        </xf:if>
                        <xf:if contentcheck="true">
                            <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div>
                        </xf:if>
                    </xf:contentcheck>
                    </div>
                </xf:if>

                <xf:if is="$description is not empty">
                    <div class="p-description">{$description}</div>
                </xf:if>
            </xf:contentcheck>
            </div>
        </xf:if>

        <div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}">
            <xf:if is="$sideNav">
                <div class="p-body-sideNav">
                    <div class="p-body-sideNavTrigger">
                        <xf:button class="button--link" data-xf-click="off-canvas" data-menu="#js-SideNavOcm">
                            {{ $sideNavTitle ?: phrase('navigation') }}
                        </xf:button>
                    </div>
                    <div class="p-body-sideNavInner" data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav">
                        <div data-ocm-class="offCanvasMenu-backdrop" data-menu-close="true"></div>
                        <div data-ocm-class="offCanvasMenu-content">
                            <div class="p-body-sideNavContent">
                                <xf:ad position="container_sidenav_above" />
                                <xf:foreach loop="$sideNav" value="$sideNavHtml">
                                    {$sideNavHtml}
                                </xf:foreach>
                                <xf:ad position="container_sidenav_below" />
                            </div>
                        </div>
                    </div>
                </div>
            </xf:if>

            <div class="p-body-content">
                <xf:ad position="container_content_above" />
                <div class="p-body-pageContent">{$content|raw}</div>
                <xf:ad position="container_content_below" />
            </div>

            <xf:if is="$sidebar">
                <div class="p-body-sidebar">
                    <xf:ad position="container_sidebar_above" />
                    <xf:foreach loop="$sidebar" value="$sidebarHtml">
                        {$sidebarHtml}
                    </xf:foreach>
                    <xf:ad position="container_sidebar_below" />
                </div>
            </xf:if>
        </div>

        <xf:ad position="container_breadcrumb_bottom_above" />
        <xf:macro name="breadcrumbs"
            arg-breadcrumbs="{$breadcrumbs}"
            arg-navTree="{$navTree}"
            arg-selectedNavEntry="{$selectedNavEntry}"
            arg-variant="bottom" />
        <xf:ad position="container_breadcrumb_bottom_below" />
      
    </div>
</div>


</div> <!-- End: focus-content -->



<!-- Mobile off-canvas navigation: start -->
<div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation">
    <div class="offCanvasMenu-backdrop" data-menu-close="true"></div>
    <div class="offCanvasMenu-content">
        <div class="offCanvasMenu-header">
            {{ phrase('menu') }}
            <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close') }}"></a>
        </div>
        <xf:if is="$xf.visitor.user_id">
            <div class="p-offCanvasAccountLink">
                <div class="offCanvasMenu-linkHolder">
                    <a href="{{ link('account') }}" class="offCanvasMenu-link">
                        <xf:avatar user="$xf.visitor" size="xxs" href="" />
                        {$xf.visitor.username}
                    </a>
                </div>
                <hr class="offCanvasMenu-separator" />
            </div>
        <xf:else />
            <div class="p-offCanvasRegisterLink">
                <div class="offCanvasMenu-linkHolder">
                    <a href="{{ link('login') }}" class="offCanvasMenu-link" rel="nofollow" data-xf-click="overlay" data-menu-close="true">
                    {{ phrase('log_in') }}
                    </a>
                </div>
                <hr class="offCanvasMenu-separator" />
                <xf:if is="$xf.options.registrationSetup.enabled">
                    <div class="offCanvasMenu-linkHolder">
                        <a href="{{ link('register') }}" class="offCanvasMenu-link" rel="nofollow" data-xf-click="overlay" data-menu-close="true">
                            {{ phrase('register') }}
                        </a>
                    </div>
                <hr class="offCanvasMenu-separator" />
                </xf:if>
            </div>
        </xf:if>
        <div class="js-offCanvasNavTarget"></div>
    </div>
</div>
<!-- Mobile off-canvas navigation: end -->

<footer class="p-footer" id="footer">

    <xf:include template="xenfocus_footer" />

    <xf:if is="property('xenfocus_footerEnable')"><div class='footer-bottom-wrap'></xf:if>
        <div class="p-footer-inner">

            <div class="p-footer-row">
                <xf:if contentcheck="true">
                    <div class="p-footer-row-main">
                        <ul class="p-footer-linkList">
                        <xf:contentcheck>
                            <xf:if is="$xf.visitor.canChangeStyle()">
                                <li><a href="{{ link('misc/style') }}" data-xf-click="overlay"
                                    data-xf-init="tooltip" title="{{ phrase('style_chooser')|for_attr }}" rel="nofollow">
                                    <i class="fa fa-paint-brush" aria-hidden="true"></i> {$xf.style.title}
                                </a></li>
                            </xf:if>
                            <xf:if is="property('xenfocus_themeEditor') AND property('xenfocus_editorIcon_footer')">
                                <li><a href="#" rel="nofollow" data-xf-init="tooltip" title="Customize" data-xenfocus-editor></a></li>
                            </xf:if>
                            <xf:if is="$xf.visitor.canChangeLanguage()">
                                <li><a href="{{ link('misc/language') }}" data-xf-click="overlay"
                                    data-xf-init="tooltip" title="{{ phrase('language_chooser')|for_attr }}" rel="nofollow">
                                    <i class="fa fa-globe" aria-hidden="true"></i> {$xf.language.title}</a></li>
                            </xf:if>
                        </xf:contentcheck>
                        </ul>
                    </div>
                </xf:if>
                <div class="p-footer-row-opposite">
                    <ul class="p-footer-linkList">
                        <xf:if is="$xf.visitor.canUseContactForm()">
                            <xf:if is="$xf.contactUrl">
                                <li><a href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}">{{ phrase('contact_us') }}</a></li>
                            </xf:if>
                        </xf:if>

                        <xf:if is="$xf.tosUrl">
                            <li><a href="{$xf.tosUrl}">{{ phrase('terms_and_rules') }}</a></li>
                        </xf:if>

                        <xf:if is="$xf.privacyPolicyUrl">
                            <li><a href="{$xf.privacyPolicyUrl}">{{ phrase('privacy_policy') }}</a></li>
                        </xf:if>

                        <xf:if is="$xf.helpPageCount">
                            <li><a href="{{ link('help') }}">{{ phrase('help') }}</a></li>
                        </xf:if>

                        <xf:if is="$xf.homePageUrl">
                            <li><a href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li>
                        </xf:if>

                        <li><a href="{{ link('forums/index.rss', '-') }}" target="_blank" class="p-footer-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><i class="fa fa-rss"></i><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
                    </ul>
                </div>
            </div>

            <div class='flex flex-jB flex-wrap flex-column-m'>
                <div>

                    <xf:if contentcheck="true">
                        <div class="p-footer-copyright">
                            <xf:contentcheck>
                                <xf:copyright />
                                {{ phrase('extra_copyright') }}
                            </xf:contentcheck>
                              
                            <xf:include template="xenfocus_branding" />

                        </div>
                    </xf:if>

                </div>
                <div>

                    <xf:if is="property('xenfocus_socialFooter')"><xf:include template="xenfocus_social" /></xf:if>

                </div>
            </div>

            <xf:if contentcheck="true">
                <div class="p-footer-debug">
                <xf:contentcheck>
                    <xf:macro template="debug_macros" name="debug"
                        arg-controller="{$controller}"
                        arg-action="{$actionMethod}"
                        arg-template="{$template}" />
                </xf:contentcheck>
                </div>
            </xf:if>
        </div>
    <xf:if is="property('xenfocus_footerEnable')"></div></xf:if>
</footer>

</div></div> <!-- closing p-pageWrapper -->

<xf:include template="xenfocus_editor" />

<div class="u-bottomFixer js-bottomFixTarget">
    <xf:if is="$notices.floating">
        <xf:macro template="notice_macros" name="notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
    </xf:if>
    <xf:if is="$notices.bottom_fixer">
        <xf:macro template="notice_macros" name="notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
    </xf:if>
</div>

<xf:if is="property('scrollJumpButtons')">
    <div class="u-scrollButtons js-scrollButtons" data-trigger-type="{{ property('scrollJumpButtons') }}">
        <xf:button href="#top" class="button--scroll" data-xf-click="scroll-to"><i class="fa fa-arrow-up"></i><span class="u-srOnly">{{ phrase('top') }}</span></xf:button>
        <xf:if is="property('scrollJumpButtons') != 'up'">
            <xf:button href="#footer" class="button--scroll" data-xf-click="scroll-to"><i class="fa fa-arrow-down"></i><span class="u-srOnly">{{ phrase('bottom') }}</span></xf:button>
        </xf:if>
    </div>
</xf:if>

<xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" />

<script type='text/javascript' src="{{ base_url('styles/xenfocus/js/xenfocus.js') }}"></script>
<xf:include template="xenfocus_countdown_js" />
<xf:include template="xenfocus_event_overlay" />
<xf:include template="xenfocus_extra_js" />
  
{$ldJsonHtml|raw}

</body>
</html>

<xf:macro name="nav_entry" arg-navId="!" arg-nav="!" arg-selected="{{ false }}" arg-shortcut="">
    <div class="p-navEl {{ $selected ? 'is-selected' : '' }}" {{ $nav.children ? 'data-has-children="true"' : '' }}>
        <xf:if is="$nav.href">

            <xf:macro name="nav_link"
                arg-navId="{$navId}"
                arg-nav="{$nav}"
                arg-class="p-navEl-link {{ $nav.children ? 'p-navEl-link--splitMenu' : '' }}"
                arg-shortcut="{{ $nav.children ? false : $shortcut }}" />

            <xf:if is="$nav.children"><a data-xf-key="{$shortcut}"
                data-xf-click="menu"
                data-menu-pos-ref="< .p-navEl"
                data-arrow-pos-ref="< .p-navEl"
                class="p-navEl-splitTrigger"
                role="button"
                tabindex="0"
                aria-label="{{ phrase('toggle_expanded') }}"
                aria-expanded="false"
                aria-haspopup="true"></a></xf:if>

        <xf:elseif is="$nav.children" /><a data-xf-key="{$shortcut}"
            data-xf-click="menu"
            data-menu-pos-ref="< .p-navEl"
            data-arrow-pos-ref="< .p-navEl"
            class="p-navEl-linkHolder"
            role="button"
            tabindex="0"
            aria-expanded="false"
            aria-haspopup="true">
            <xf:macro name="nav_link"
                arg-navId="{$navId}"
                arg-nav="{$nav}"
                arg-class="p-navEl-link p-navEl-link--menuTrigger" />
        </a>

        <xf:else />

            <xf:macro name="nav_link"
                arg-navId="{$navId}"
                arg-nav="{$nav}"
                arg-class="p-navEl-link"
                arg-shortcut="{$shortcut}" />

        </xf:if>
        <xf:if is="$nav.children">
            <div class="menu menu--structural" data-menu="menu" aria-hidden="true">
                <div class="menu-content">
                    <!--<h4 class="menu-header">{$nav.title}</h4>-->
                    <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
                        <xf:macro name="nav_menu_entry"
                            arg-navId="{$childNavId}"
                            arg-nav="{$child}" />
                    </xf:foreach>
                </div>
            </div>
        </xf:if>
    </div>
</xf:macro>

<xf:macro name="nav_link" arg-navId="!" arg-nav="!" arg-class="" arg-titleHtml="" arg-shortcut="{{ false }}">
    <xf:set var="$tag" value="{{ $nav.href ? 'a' : 'span' }}" />
    <{$tag} {{ $nav.href ? 'href="' . $nav.href . '"' : '' }}
        class="{{ trim($class) }} {$nav.attributes.class}"
        {{ attributes($nav.attributes, ['class']) }}
        {{ $shortcut !== false ? 'data-xf-key="' . $shortcut . '"' : '' }}
        data-nav-id="{$navId}"><xf:if is="$nav.icon"><i class="fa {$nav.icon}" aria-hidden="true"></i> </xf:if>{{ $titleHtml ? $titleHtml|raw : $nav.title }}<xf:if is="$nav.counter"> <span class="badge badge--highlighted">{$nav.counter|number}</span></xf:if></{$tag}>
</xf:macro>

<xf:macro name="nav_menu_entry" arg-navId="!" arg-nav="!" arg-depth="0">
    <xf:macro name="nav_link"
        arg-navId="{$navId}"
        arg-nav="{$nav}"
        arg-class="menu-linkRow u-indentDepth{$depth} js-offCanvasCopy" />
    <xf:if is="$nav.children">
        <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
            <xf:macro name="nav_menu_entry"
                arg-navId="{$childNavId}"
                arg-nav="{$child}"
                arg-depth="{{ $depth + 1 }}" />
        </xf:foreach>
        <xf:if is="$depth == 0">
            <hr class="menu-separator" />
        </xf:if>
    </xf:if>
</xf:macro>

<xf:macro name="breadcrumbs" arg-breadcrumbs="!" arg-navTree="!" arg-selectedNavEntry="{{ null }}" arg-variant="">

    <xf:set var="$rootBreadcrumb" value="{$navTree.{$xf.options.rootBreadcrumb}}" />

    <xf:if contentcheck="true">
        <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}"
            itemscope itemtype="https://schema.org/BreadcrumbList">
        <xf:contentcheck>

            <xf:if is="$rootBreadcrumb AND $rootBreadcrumb.href != $xf.uri">
                <xf:macro name="crumb"
                    arg-href="{$rootBreadcrumb.href}"
                    arg-value="{$rootBreadcrumb.title}" />
            </xf:if>

            <xf:if is="$selectedNavEntry && $selectedNavEntry.href && $selectedNavEntry.href != $xf.uri && $selectedNavEntry.href != $rootBreadcrumb.href">
                <xf:macro name="crumb"
                    arg-href="{$selectedNavEntry.href}"
                    arg-value="{$selectedNavEntry.title}" />
            </xf:if>
            <xf:foreach loop="$breadcrumbs" value="$breadcrumb" if="$breadcrumb.href != $xf.uri">
                <xf:macro name="crumb"
                    arg-href="{$breadcrumb.href}"
                    arg-value="{$breadcrumb.value}" />
            </xf:foreach>

        </xf:contentcheck>
        </ul>
    <xf:else />
        <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}" itemscope itemtype="https://schema.org/BreadcrumbList">
            <xf:macro name="crumb"
                arg-href="{$rootBreadcrumb.href}"
                arg-value="{$rootBreadcrumb.title}" />
        </ul>
    </xf:if>
</xf:macro>

<xf:macro name="crumb" arg-href="!" arg-value="!">
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
        <a href="{$href}" itemprop="item">
            <span itemprop="name">{$value}</span>
        </a>
    </li>
</xf:macro>


البته مشابهش بود:
کد:
 <xf:if is="property('publicFaviconUrl')">
        <link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl')) }}" sizes="32x32" />
    </xf:if>

منتهی نمیدونم با چی باید جایگزینش کنم
 

محمد

کاربر کادر مدیریت
مدیر ارشد
کاربر ویژه پلاس
تاریخ ثبت‌نام
9/10/20
ارسالات
413
پسندها
757
دست‌آوردها
93
سن
22
محل سکونت
Iran
وب سایت
pylove.ir
نسخه PHP
7.3.1
نسخه زنفورو
xenforo 2.1
  • نویسنده موضوع
  • مدیریت
  • #3
سلام من متوجه شدم مشکل قالب dimension که تو تاپیک دیگه مطرح کردم و آیکن های انجمن خراب شده بودند مربوط به همین قدیمی شدن page container هست. که بعد از اپدیت انجمن از 2.0 به 2.1 به وجود اومد

منتهی این کدی که گفتید برای این استایل وجود نداره. الگوی پیج کانتینر رو کامل گذاشتم پایین.


کد:
<!DOCTYPE html>
<html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}"
    data-app="public"
    data-template="{$template}"
    data-container-key="{$containerKey}"
    data-content-key="{$contentKey}"
    data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
    data-cookie-prefix="{$xf.cookie.prefix}"
    data-style-id="{$xf.style.style_id}"
    class="has-no-js{{ $template ? ' template-' . $template : '' }}"
    {{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <xf:set var="$siteName" value="{$xf.options.boardTitle}" />
    <xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set>
    <xf:set var="$description"><xf:description /></xf:set>

    <title><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></title>

    <xf:foreach loop="$head" value="$headTag">
        {$headTag}
    </xf:foreach>

    <xf:if is="!$head.meta_site_name && $siteName is not empty">
        <xf:macro template="metadata_macros" name="site_name" arg-siteName="{$siteName}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_type">
        <xf:macro template="metadata_macros" name="type" arg-type="website" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_title">
        <xf:macro template="metadata_macros" name="title" arg-title="{{ page_title() ?: $siteName }}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_description && $description is not empty && $pageDescriptionMeta">
        <xf:macro template="metadata_macros" name="description" arg-description="{$description}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_share_url">
        <xf:macro template="metadata_macros" name="share_url" arg-shareUrl="{$xf.fullUri}" arg-output="{{ true }}" />
    </xf:if>
    <xf:if is="!$head.meta_image_url && property('publicMetadataLogoUrl')">
        <xf:macro template="metadata_macros" name="image_url"
            arg-imageUrl="{{ base_url(property('publicMetadataLogoUrl'), true) }}"
            arg-output="{{ true }}" />
    </xf:if>

    <xf:if is="property('metaThemeColor')">
        <meta name="theme-color" content="{{ parse_less_color(property('metaThemeColor')) }}" />
    </xf:if>

    <xf:if is="property('xenfocus_includeCSS')">{{ property('xenfocus_includeCSS') }}</xf:if>

    <xf:macro template="helper_js_global" name="head" arg-app="public" />

    <xf:if is="property('publicFaviconUrl')">
        <link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl')) }}" sizes="32x32" />
    </xf:if>
    <xf:if is="property('publicMetadataLogoUrl')">
        <link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl'), true) }}" />
    </xf:if>
    <xf:include template="google_analytics" />

    <xf:include template="xenfocus_onload_js" />

</head>
<body data-template="{$template}">


<xf:set var="$userHtml">

    <!-- User bar -->

    <div class='focus-wrap-user'>
        <div class="p-nav-opposite">
            <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
                <xf:if is="$xf.visitor.user_id">
                    <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'">
                        <a href="{{ link('account') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user">
                            <xf:avatar user="$xf.visitor" size="xxs" href="" />
                            <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
                        </a>

                        <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="p-navgroup-link">
                            <span class="p-navgroup-linkText">{{ phrase('log_out') }}</span>
                        </a>
                    <xf:else />
                        <a href="{{ link('account') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"
                            data-xf-click="menu"
                            data-xf-key="{{ phrase('shortcut.visitor_menu') }}"
                            data-menu-pos-ref="< .p-navgroup"
                            aria-expanded="false"
                            aria-haspopup="true">
                            <xf:avatar user="$xf.visitor" size="xxs" href="" />
                            <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
                        </a>
                        <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true"
                            data-href="{{ link('account/visitor-menu') }}"
                            data-load-target=".js-visitorMenuBody">
                            <div class="menu-content js-visitorMenuBody">
                                <div class="menu-row">
                                    {{ phrase('loading...') }}
                                </div>
                            </div>
                        </div>

                        <a href="{{ link('conversations') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"
                            data-badge="{$xf.visitor.conversations_unread|number}"
                            data-xf-click="menu"
                            data-xf-key="{{ phrase('shortcut.conversations_menu') }}"
                            data-menu-pos-ref="< .p-navgroup"
                            aria-expanded="false"
                            aria-haspopup="true">
                            <i aria-hidden="true"></i>
                            <span class="p-navgroup-linkText">{{ phrase('inbox') }}</span>
                        </a>
                        <div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
                            data-href="{{ link('conversations/popup') }}"
                            data-nocache="true"
                            data-load-target=".js-convMenuBody">
                            <div class="menu-content">
                                <h3 class="menu-header">{{ phrase('conversations') }}</h3>
                                <div class="js-convMenuBody">
                                    <div class="menu-row">{{ phrase('loading...') }}</div>
                                </div>
                                <div class="menu-footer menu-footer--split">
                                    <span class="menu-footer-main">
                                        <a href="{{ link('conversations') }}">{{ phrase('show_all...') }}</a>
                                    </span>
                                    <span class="menu-footer-opposite">
                                        <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a>
                                    </span>
                                </div>
                            </div>
                        </div>

                        <a href="{{ link('account/alerts') }}"
                            class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}"
                            data-badge="{$xf.visitor.alerts_unread|number}"
                            data-xf-click="menu"
                            data-xf-key="{{ phrase('shortcut.alerts_menu') }}"
                            data-menu-pos-ref="< .p-navgroup"
                            aria-expanded="false"
                            aria-haspopup="true">
                            <i aria-hidden="true"></i>
                            <span class="p-navgroup-linkText">{{ phrase('alerts') }}</span>
                        </a>
                        <div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
                            data-href="{{ link('account/alerts-popup') }}"
                            data-nocache="true"
                            data-load-target=".js-alertsMenuBody">
                            <div class="menu-content">
                                <h3 class="menu-header">{{ phrase('alerts') }}</h3>
                                <div class="js-alertsMenuBody">
                                    <div class="menu-row">{{ phrase('loading...') }}</div>
                                </div>
                                <div class="menu-footer menu-footer--split">
                                    <span class="menu-footer-main">
                                        <a href="{{ link('account/alerts') }}">{{ phrase('show_all...') }}</a>
                                    </span>
                                    <span class="menu-footer-opposite">
                                        <a href="{{ link('account/preferences') }}">{{ phrase('preferences') }}</a>
                                    </span>
                                </div>
                            </div>
                        </div>
                    </xf:if>
                <xf:else />
                    <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn" rel="nofollow" data-xf-click="overlay" data-follow-redirects="on">
                        <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span>
                    </a>
                    <xf:if is="$xf.options.registrationSetup.enabled">
                        <a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register" rel="nofollow" data-xf-click="overlay" data-follow-redirects="on">
                            <span class="p-navgroup-linkText">{{ phrase('register') }}</span>
                        </a>
                    </xf:if>
                </xf:if>
                <xf:if is="property('xenfocus_themeEditor') AND property('xenfocus_editorIcon_user')">
                    <a href="#" class="p-navgroup-link" rel="nofollow" data-xf-init="tooltip" title="Customize" data-xenfocus-editor>
                        <span class="p-navgroup-linkText"></span>
                    </a>
                </xf:if>
            
            </div>

            <div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}">
                <a href="{{ link('whats-new') }}"
                    class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew"
                    title="{{ phrase('whats_new')|for_attr }}">
                    <i aria-hidden="true"></i>
                    <span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span>
                </a>

                <xf:if is="$xf.visitor.canSearch()">
                    <a href="{{ link('search') }}"
                        class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search"
                        data-xf-click="menu"
                        data-xf-key="{{ phrase('shortcut.search_menu') }}"
                        aria-label="{{ phrase('search') }}"
                        aria-expanded="false"
                        aria-haspopup="true"
                        title="{{ phrase('search')|for_attr }}">
                        <i aria-hidden="true"></i>
                        <span class="p-navgroup-linkText">{{ phrase('search') }}</span>
                    </a>
                    <div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true">
                        <form action="{{ link('search/search') }}" method="post"
                            class="menu-content"
                            data-xf-init="quick-search">

                            <h3 class="menu-header">{{ phrase('search') }}</h3>
                            <!--[XF:search_menu:above_input]-->
                            <div class="menu-row">
                                <xf:if is="$searchConstraints">
                                    <div class="inputGroup inputGroup--joined">
                                        <xf:textbox name="keywords"
                                            placeholder="{{ phrase('search...') }}"
                                            aria-label="{{ phrase('search') }}"
                                            data-menu-autofocus="true" />
                                        <xf:select name="constraints"
                                            class="js-quickSearch-constraint"
                                            aria-label="{{ phrase('search_within') }}">

                                            <xf:option value="">{{ phrase('everywhere') }}</xf:option>
                                            <xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
                                                <xf:option value="{$constraint|json}">{$constraintName}</xf:option>
                                            </xf:foreach>
                                        </xf:select>
                                    </div>
                                    <xf:else />
                                    <xf:textbox name="keywords"
                                        placeholder="{{ phrase('search...') }}"
                                        aria-label="{{ phrase('search') }}"
                                        data-menu-autofocus="true" />
                                </xf:if>
                            </div>

                            <!--[XF:search_menu:above_title_only]-->
                            <div class="menu-row">
                                <xf:checkbox standalone="true"><xf:option name="c[title_only]" label="{{ phrase('search_titles_only') }}" /></xf:checkbox>
                            </div>
                            <!--[XF:search_menu:above_member]-->
                            <div class="menu-row">
                                <div class="inputGroup">
                                    <span class="inputGroup-text" id="ctrl_search_menu_by_member">{{ phrase('by:') }}</span>
                                    <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" aria-labelledby="ctrl_search_menu_by_member" />
                                </div><input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" />
                            </div>
                            <div class="menu-footer">
                                <span class="menu-footer-controls">
                                    <xf:button type="submit" class="button--primary" icon="search" />
                                    <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('filters') }}</xf:button>
                                </span>
                            </div>

                            <xf:csrf />
                        </form>
                    </div>
                </xf:if>
            </div>
        </div>
    </div>

</xf:set>





<xf:set var="$xenSearch">
    <div class='focus-wrap-search'>

        <xf:if is="$xf.visitor.canSearch()">
            <form action="{{ link('search/search') }}" method="post">
        
            <!-- Search -->
            <div class='focus-search'>
            
                <div class='focus-search-flex'>
                    <input name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" type="text" />
                    <div class='focus-search-prefix'><i class="fa fa-search" aria-hidden="true"></i></div>
                </div>
            
            </div>
        
            <xf:if is="property('xenfocus_searchMenu')">
                <div class="focus-search-menu">

                    <!--[XF:search_menu:above_input]-->
                    <xf:if is="$searchConstraints">
                        <div class="menu-row">
                            <xf:select name="constraints"
                                class="js-quickSearch-constraint"
                                aria-label="{{ phrase('search_within') }}">

                                <xf:option value="">{{ phrase('everywhere') }}</xf:option>
                                <xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
                                    <xf:option value="{$constraint|json}">{$constraintName}</xf:option>
                                </xf:foreach>
                            </xf:select>
                        </div>
                    </xf:if>

                    <!--[XF:search_menu:above_title_only]-->
                    <div class="menu-row">
                        <xf:checkbox standalone="true"><xf:option name="c[title_only]" label="{{ phrase('search_titles_only') }}" /></xf:checkbox>
                    </div>
                    <!--[XF:search_menu:above_member]-->
                    <div class="menu-row">
                        <div class="inputGroup">
                            <span class="inputGroup-text">{{ phrase('by:') }}</span>
                            <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" aria-labelledby="ctrl_search_menu_by_member" />
                        </div>
                    </div>
                    <div class="menu-footer">
                        <span class="menu-footer-controls">
                            <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('advanced_search...') }}</xf:button>
                            <xf:button type="submit" class="button--primary" icon="search" />
                        </span>
                    </div>

                </div>
            </xf:if>

            <xf:csrf />

            </form>
        </xf:if>

    </div>
</xf:set>





<xf:set var="$navLinks">

    <!-- Navigation wrap -->
    <nav class='focus-wrap-nav'>
        <div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected">
            <div class="hScroller-scroll">
                <ul class="p-nav-list js-offCanvasNavSource">
                <xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
                    <li>
                        <xf:macro name="nav_entry"
                            arg-navId="{$navSection}"
                            arg-nav="{$navEntry}"
                            arg-selected="{{ $navSection == $pageSection }}"
                            arg-shortcut="{$i}" />
                    </li>
                </xf:foreach>
                </ul>
            </div>
        </div>
    </nav>

</xf:set>





<xf:set var="$nextToLogo">

    <div class='focus-ad'><xf:ad position="container_header" /></div>

    {$userHtml|raw}

</xf:set>





<xf:set var="$navHtml">

    <!-- Secondary header -->

    <div class="p-nav">
        <div class="p-nav-inner">
        
            <div class='focus-mobile-navigation'>
                <a class="p-nav-menuTrigger" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" role="button" tabindex="0">
                    <i aria-hidden="true"></i>
                    <span class="p-nav-menuText">{{ phrase('menu') }}</span>
                </a>
                <div class='focus-mobile-logo'>
                    <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
                        <xf:if is="property('publicLogoUrl')">
                            <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
                        <xf:else />
                            <xf:if is="property('xenfocus_logoText')">{{property('xenfocus_logoText')}}<xf:else />{$xf.options.boardTitle}</xf:if>
                        </xf:if>
                    </a>
                </div>
            </div>

            {$userHtml|raw}
            {$navLinks|raw}
            {$xenSearch|raw}

        </div>
    </div>

</xf:set>




<xf:set var="$subNavHtml">
    <!-- Sub navigation -->
    <xf:if is="$selectedNavChildren is not empty">
        <div class="p-sectionLinks">
            <div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller">
                <div class="hScroller-scroll">
                    <ul class="p-sectionLinks-list">
                    <xf:foreach loop="$selectedNavChildren" key="$navId" value="$navEntry" i="$i">
                        <li>
                            <xf:macro name="nav_entry" arg-navId="{$navId}" arg-nav="{$navEntry}" arg-shortcut="alt+{$i}" />
                        </li>
                    </xf:foreach>
                    </ul>
                </div>
            </div>
        </div>
    <xf:elseif is="{$selectedNavEntry}" />
        <div class="p-sectionLinks p-sectionLinks--empty"></div>
    </xf:if>
</xf:set>





<div class="p-pageWrapper" id="top">

<div class='dimension-header'>

    <div class='dimension-header-image-wrap'>
        <div class='dimension-header-image'></div>
    </div>

<!-- Logo bar: start -->
<header class="p-header" id="header">
    <div class="p-header-inner">
        <div class="p-header-content">

            <div class="p-header-logo p-header-logo--image">
                <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
                
                    <xf:include template="xenfocus_mini_logo" />

                    <span>
                        <xf:if is="property('publicLogoUrl')">
                            <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
                        <xf:else />
                            <span class='focus-logo'><xf:if is="property('xenfocus_logoText')">{{property('xenfocus_logoText')}}<xf:else />{$xf.options.boardTitle}</xf:if></span>
                            <xf:if is="property('xenfocus_logoSlogan')"><span class='focus-logo-slogan'>{{property('xenfocus_logoSlogan')}}</span></xf:if>
                        </xf:if>
                    </span>
                </a>
            </div>

            {$nextToLogo|raw}
        
        </div>
    </div>
</header>

<!-- Secondary header: start -->
<xf:if is="property('publicNavSticky') == 'primary'">
    <div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header">
        <div class='dimension-nav-wrap'>
            <div class='dimension-nav-image'>
                <div class='dimension-nav-blur'></div>
            </div>
            {$navHtml|raw}
        </div>
    </div>
    {$subNavHtml|raw}
<xf:elseif is="property('publicNavSticky') == 'all'" />
    <div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header">
        <div class='dimension-nav-wrap'>
            <div class='dimension-nav-image'>
                <div class='dimension-nav-blur'></div>
            </div>
            {$navHtml|raw}
            {$subNavHtml|raw}
        </div>
    </div>
<xf:else />
    <div class='dimension-nav-wrap'>
        <div class='dimension-nav-image'>
            <div class='dimension-nav-blur'></div>
        </div>
        {$navHtml|raw}
        {$subNavHtml|raw}
    </div>
</xf:if>
<!-- Secondary header: end -->

</div>

<!-- Logo bar: end -->

<div class='focus-width'>

<div class='focus-content'>

<div class="p-body">
    <div class="p-body-inner">
        <!--XF:EXTRA_OUTPUT-->
    
        <!-- Staff bar: start -->
        <xf:if contentcheck="true">
            <div class="p-staffBar">
                <div class="p-staffBar-inner hScroller" data-xf-init="h-scroller">
                    <div class="hScroller-scroll">
                    <xf:contentcheck>
                        <xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total">
                            <a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}">
                                {{ phrase('approval_queue') }}
                            </a>
                        </xf:if>

                        <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total">
                            <a href="{{ link('reports') }}"
                                class="p-staffBar-link badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}"
                                data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}"
                                title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">
                                {{ phrase('reports') }}
                            </a>
                        </xf:if>

                        <xf:if contentcheck="true">
                            <a class="p-staffBar-link menuTrigger" data-xf-click="menu" data-xf-key="alt+m" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('moderator') }}</a>
                            <div class="menu" data-menu="menu" aria-hidden="true">
                                <div class="menu-content">
                                    <h4 class="menu-header">{{ phrase('moderator_tools') }}</h4>
                                    <xf:contentcheck>
                                    <!--[XF:mod_tools_menu:top]-->
                                    <xf:if is="$xf.visitor.is_moderator">
                                        <a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a>
                                    </xf:if>
                                    <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId">
                                        <a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a>
                                    </xf:if>
                                    <!--[XF:mod_tools_menu:bottom]-->
                                    </xf:contentcheck>
                                </div>
                            </div>
                        </xf:if>

                        <xf:if is="$xf.visitor.is_admin">
                            <a href="{{ base_url('admin.php') }}" class="p-staffBar-link" target="_blank">{{ phrase('admin') }}</a>
                        </xf:if>
                    </xf:contentcheck>
                    </div>
                </div>
            </div>
        </xf:if>
    
        <xf:include template="xenfocus_guest" />
    
        <xf:if is="$notices.block">
            <xf:macro template="notice_macros" name="notice_list" arg-type="block" arg-notices="{$notices.block}" />
        </xf:if>

        <xf:if is="$notices.scrolling">
            <xf:macro template="notice_macros" name="notice_list" arg-type="scrolling" arg-notices="{$notices.scrolling}" />
        </xf:if>

        <xf:ad position="container_breadcrumb_top_above" />
    
        <div class='focus-breadcrumb'>
            <xf:macro name="breadcrumbs"
                arg-breadcrumbs="{$breadcrumbs}"
                arg-navTree="{$navTree}"
                arg-selectedNavEntry="{$selectedNavEntry}" />
            <xf:if is="property('xenfocus_socialEnable')"><xf:include template="xenfocus_social" /></xf:if>
        </div>

        <xf:include template="xenfocus_countdown" />
        
        <xf:ad position="container_breadcrumb_top_below" />

        <xf:macro template="browser_warning_macros" name="javascript" />
        <xf:macro template="browser_warning_macros" name="browser" />

        <xf:if is="$headerHtml is not empty">
            <div class="p-body-header">
                {$headerHtml|raw}
            </div>
        <xf:elseif contentcheck="true" />
            <div class="p-body-header">
            <xf:contentcheck>
                <xf:if contentcheck="true">
                    <div class="p-title {{ $noH1 ? 'p-title--noH1' : '' }}">
                    <xf:contentcheck>
                        <xf:if is="!$noH1">
                            <h1 class="p-title-value">{$h1}</h1>
                        </xf:if>
                        <xf:if contentcheck="true">
                            <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div>
                        </xf:if>
                    </xf:contentcheck>
                    </div>
                </xf:if>

                <xf:if is="$description is not empty">
                    <div class="p-description">{$description}</div>
                </xf:if>
            </xf:contentcheck>
            </div>
        </xf:if>

        <div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}">
            <xf:if is="$sideNav">
                <div class="p-body-sideNav">
                    <div class="p-body-sideNavTrigger">
                        <xf:button class="button--link" data-xf-click="off-canvas" data-menu="#js-SideNavOcm">
                            {{ $sideNavTitle ?: phrase('navigation') }}
                        </xf:button>
                    </div>
                    <div class="p-body-sideNavInner" data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav">
                        <div data-ocm-class="offCanvasMenu-backdrop" data-menu-close="true"></div>
                        <div data-ocm-class="offCanvasMenu-content">
                            <div class="p-body-sideNavContent">
                                <xf:ad position="container_sidenav_above" />
                                <xf:foreach loop="$sideNav" value="$sideNavHtml">
                                    {$sideNavHtml}
                                </xf:foreach>
                                <xf:ad position="container_sidenav_below" />
                            </div>
                        </div>
                    </div>
                </div>
            </xf:if>

            <div class="p-body-content">
                <xf:ad position="container_content_above" />
                <div class="p-body-pageContent">{$content|raw}</div>
                <xf:ad position="container_content_below" />
            </div>

            <xf:if is="$sidebar">
                <div class="p-body-sidebar">
                    <xf:ad position="container_sidebar_above" />
                    <xf:foreach loop="$sidebar" value="$sidebarHtml">
                        {$sidebarHtml}
                    </xf:foreach>
                    <xf:ad position="container_sidebar_below" />
                </div>
            </xf:if>
        </div>

        <xf:ad position="container_breadcrumb_bottom_above" />
        <xf:macro name="breadcrumbs"
            arg-breadcrumbs="{$breadcrumbs}"
            arg-navTree="{$navTree}"
            arg-selectedNavEntry="{$selectedNavEntry}"
            arg-variant="bottom" />
        <xf:ad position="container_breadcrumb_bottom_below" />
    
    </div>
</div>


</div> <!-- End: focus-content -->



<!-- Mobile off-canvas navigation: start -->
<div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation">
    <div class="offCanvasMenu-backdrop" data-menu-close="true"></div>
    <div class="offCanvasMenu-content">
        <div class="offCanvasMenu-header">
            {{ phrase('menu') }}
            <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close') }}"></a>
        </div>
        <xf:if is="$xf.visitor.user_id">
            <div class="p-offCanvasAccountLink">
                <div class="offCanvasMenu-linkHolder">
                    <a href="{{ link('account') }}" class="offCanvasMenu-link">
                        <xf:avatar user="$xf.visitor" size="xxs" href="" />
                        {$xf.visitor.username}
                    </a>
                </div>
                <hr class="offCanvasMenu-separator" />
            </div>
        <xf:else />
            <div class="p-offCanvasRegisterLink">
                <div class="offCanvasMenu-linkHolder">
                    <a href="{{ link('login') }}" class="offCanvasMenu-link" rel="nofollow" data-xf-click="overlay" data-menu-close="true">
                    {{ phrase('log_in') }}
                    </a>
                </div>
                <hr class="offCanvasMenu-separator" />
                <xf:if is="$xf.options.registrationSetup.enabled">
                    <div class="offCanvasMenu-linkHolder">
                        <a href="{{ link('register') }}" class="offCanvasMenu-link" rel="nofollow" data-xf-click="overlay" data-menu-close="true">
                            {{ phrase('register') }}
                        </a>
                    </div>
                <hr class="offCanvasMenu-separator" />
                </xf:if>
            </div>
        </xf:if>
        <div class="js-offCanvasNavTarget"></div>
    </div>
</div>
<!-- Mobile off-canvas navigation: end -->

<footer class="p-footer" id="footer">

    <xf:include template="xenfocus_footer" />

    <xf:if is="property('xenfocus_footerEnable')"><div class='footer-bottom-wrap'></xf:if>
        <div class="p-footer-inner">

            <div class="p-footer-row">
                <xf:if contentcheck="true">
                    <div class="p-footer-row-main">
                        <ul class="p-footer-linkList">
                        <xf:contentcheck>
                            <xf:if is="$xf.visitor.canChangeStyle()">
                                <li><a href="{{ link('misc/style') }}" data-xf-click="overlay"
                                    data-xf-init="tooltip" title="{{ phrase('style_chooser')|for_attr }}" rel="nofollow">
                                    <i class="fa fa-paint-brush" aria-hidden="true"></i> {$xf.style.title}
                                </a></li>
                            </xf:if>
                            <xf:if is="property('xenfocus_themeEditor') AND property('xenfocus_editorIcon_footer')">
                                <li><a href="#" rel="nofollow" data-xf-init="tooltip" title="Customize" data-xenfocus-editor></a></li>
                            </xf:if>
                            <xf:if is="$xf.visitor.canChangeLanguage()">
                                <li><a href="{{ link('misc/language') }}" data-xf-click="overlay"
                                    data-xf-init="tooltip" title="{{ phrase('language_chooser')|for_attr }}" rel="nofollow">
                                    <i class="fa fa-globe" aria-hidden="true"></i> {$xf.language.title}</a></li>
                            </xf:if>
                        </xf:contentcheck>
                        </ul>
                    </div>
                </xf:if>
                <div class="p-footer-row-opposite">
                    <ul class="p-footer-linkList">
                        <xf:if is="$xf.visitor.canUseContactForm()">
                            <xf:if is="$xf.contactUrl">
                                <li><a href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}">{{ phrase('contact_us') }}</a></li>
                            </xf:if>
                        </xf:if>

                        <xf:if is="$xf.tosUrl">
                            <li><a href="{$xf.tosUrl}">{{ phrase('terms_and_rules') }}</a></li>
                        </xf:if>

                        <xf:if is="$xf.privacyPolicyUrl">
                            <li><a href="{$xf.privacyPolicyUrl}">{{ phrase('privacy_policy') }}</a></li>
                        </xf:if>

                        <xf:if is="$xf.helpPageCount">
                            <li><a href="{{ link('help') }}">{{ phrase('help') }}</a></li>
                        </xf:if>

                        <xf:if is="$xf.homePageUrl">
                            <li><a href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li>
                        </xf:if>

                        <li><a href="{{ link('forums/index.rss', '-') }}" target="_blank" class="p-footer-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><i class="fa fa-rss"></i><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
                    </ul>
                </div>
            </div>

            <div class='flex flex-jB flex-wrap flex-column-m'>
                <div>

                    <xf:if contentcheck="true">
                        <div class="p-footer-copyright">
                            <xf:contentcheck>
                                <xf:copyright />
                                {{ phrase('extra_copyright') }}
                            </xf:contentcheck>
                            
                            <xf:include template="xenfocus_branding" />

                        </div>
                    </xf:if>

                </div>
                <div>

                    <xf:if is="property('xenfocus_socialFooter')"><xf:include template="xenfocus_social" /></xf:if>

                </div>
            </div>

            <xf:if contentcheck="true">
                <div class="p-footer-debug">
                <xf:contentcheck>
                    <xf:macro template="debug_macros" name="debug"
                        arg-controller="{$controller}"
                        arg-action="{$actionMethod}"
                        arg-template="{$template}" />
                </xf:contentcheck>
                </div>
            </xf:if>
        </div>
    <xf:if is="property('xenfocus_footerEnable')"></div></xf:if>
</footer>

</div></div> <!-- closing p-pageWrapper -->

<xf:include template="xenfocus_editor" />

<div class="u-bottomFixer js-bottomFixTarget">
    <xf:if is="$notices.floating">
        <xf:macro template="notice_macros" name="notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
    </xf:if>
    <xf:if is="$notices.bottom_fixer">
        <xf:macro template="notice_macros" name="notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
    </xf:if>
</div>

<xf:if is="property('scrollJumpButtons')">
    <div class="u-scrollButtons js-scrollButtons" data-trigger-type="{{ property('scrollJumpButtons') }}">
        <xf:button href="#top" class="button--scroll" data-xf-click="scroll-to"><i class="fa fa-arrow-up"></i><span class="u-srOnly">{{ phrase('top') }}</span></xf:button>
        <xf:if is="property('scrollJumpButtons') != 'up'">
            <xf:button href="#footer" class="button--scroll" data-xf-click="scroll-to"><i class="fa fa-arrow-down"></i><span class="u-srOnly">{{ phrase('bottom') }}</span></xf:button>
        </xf:if>
    </div>
</xf:if>

<xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" />

<script type='text/javascript' src="{{ base_url('styles/xenfocus/js/xenfocus.js') }}"></script>
<xf:include template="xenfocus_countdown_js" />
<xf:include template="xenfocus_event_overlay" />
<xf:include template="xenfocus_extra_js" />

{$ldJsonHtml|raw}

</body>
</html>

<xf:macro name="nav_entry" arg-navId="!" arg-nav="!" arg-selected="{{ false }}" arg-shortcut="">
    <div class="p-navEl {{ $selected ? 'is-selected' : '' }}" {{ $nav.children ? 'data-has-children="true"' : '' }}>
        <xf:if is="$nav.href">

            <xf:macro name="nav_link"
                arg-navId="{$navId}"
                arg-nav="{$nav}"
                arg-class="p-navEl-link {{ $nav.children ? 'p-navEl-link--splitMenu' : '' }}"
                arg-shortcut="{{ $nav.children ? false : $shortcut }}" />

            <xf:if is="$nav.children"><a data-xf-key="{$shortcut}"
                data-xf-click="menu"
                data-menu-pos-ref="< .p-navEl"
                data-arrow-pos-ref="< .p-navEl"
                class="p-navEl-splitTrigger"
                role="button"
                tabindex="0"
                aria-label="{{ phrase('toggle_expanded') }}"
                aria-expanded="false"
                aria-haspopup="true"></a></xf:if>

        <xf:elseif is="$nav.children" /><a data-xf-key="{$shortcut}"
            data-xf-click="menu"
            data-menu-pos-ref="< .p-navEl"
            data-arrow-pos-ref="< .p-navEl"
            class="p-navEl-linkHolder"
            role="button"
            tabindex="0"
            aria-expanded="false"
            aria-haspopup="true">
            <xf:macro name="nav_link"
                arg-navId="{$navId}"
                arg-nav="{$nav}"
                arg-class="p-navEl-link p-navEl-link--menuTrigger" />
        </a>

        <xf:else />

            <xf:macro name="nav_link"
                arg-navId="{$navId}"
                arg-nav="{$nav}"
                arg-class="p-navEl-link"
                arg-shortcut="{$shortcut}" />

        </xf:if>
        <xf:if is="$nav.children">
            <div class="menu menu--structural" data-menu="menu" aria-hidden="true">
                <div class="menu-content">
                    <!--<h4 class="menu-header">{$nav.title}</h4>-->
                    <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
                        <xf:macro name="nav_menu_entry"
                            arg-navId="{$childNavId}"
                            arg-nav="{$child}" />
                    </xf:foreach>
                </div>
            </div>
        </xf:if>
    </div>
</xf:macro>

<xf:macro name="nav_link" arg-navId="!" arg-nav="!" arg-class="" arg-titleHtml="" arg-shortcut="{{ false }}">
    <xf:set var="$tag" value="{{ $nav.href ? 'a' : 'span' }}" />
    <{$tag} {{ $nav.href ? 'href="' . $nav.href . '"' : '' }}
        class="{{ trim($class) }} {$nav.attributes.class}"
        {{ attributes($nav.attributes, ['class']) }}
        {{ $shortcut !== false ? 'data-xf-key="' . $shortcut . '"' : '' }}
        data-nav-id="{$navId}"><xf:if is="$nav.icon"><i class="fa {$nav.icon}" aria-hidden="true"></i> </xf:if>{{ $titleHtml ? $titleHtml|raw : $nav.title }}<xf:if is="$nav.counter"> <span class="badge badge--highlighted">{$nav.counter|number}</span></xf:if></{$tag}>
</xf:macro>

<xf:macro name="nav_menu_entry" arg-navId="!" arg-nav="!" arg-depth="0">
    <xf:macro name="nav_link"
        arg-navId="{$navId}"
        arg-nav="{$nav}"
        arg-class="menu-linkRow u-indentDepth{$depth} js-offCanvasCopy" />
    <xf:if is="$nav.children">
        <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
            <xf:macro name="nav_menu_entry"
                arg-navId="{$childNavId}"
                arg-nav="{$child}"
                arg-depth="{{ $depth + 1 }}" />
        </xf:foreach>
        <xf:if is="$depth == 0">
            <hr class="menu-separator" />
        </xf:if>
    </xf:if>
</xf:macro>

<xf:macro name="breadcrumbs" arg-breadcrumbs="!" arg-navTree="!" arg-selectedNavEntry="{{ null }}" arg-variant="">

    <xf:set var="$rootBreadcrumb" value="{$navTree.{$xf.options.rootBreadcrumb}}" />

    <xf:if contentcheck="true">
        <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}"
            itemscope itemtype="https://schema.org/BreadcrumbList">
        <xf:contentcheck>

            <xf:if is="$rootBreadcrumb AND $rootBreadcrumb.href != $xf.uri">
                <xf:macro name="crumb"
                    arg-href="{$rootBreadcrumb.href}"
                    arg-value="{$rootBreadcrumb.title}" />
            </xf:if>

            <xf:if is="$selectedNavEntry && $selectedNavEntry.href && $selectedNavEntry.href != $xf.uri && $selectedNavEntry.href != $rootBreadcrumb.href">
                <xf:macro name="crumb"
                    arg-href="{$selectedNavEntry.href}"
                    arg-value="{$selectedNavEntry.title}" />
            </xf:if>
            <xf:foreach loop="$breadcrumbs" value="$breadcrumb" if="$breadcrumb.href != $xf.uri">
                <xf:macro name="crumb"
                    arg-href="{$breadcrumb.href}"
                    arg-value="{$breadcrumb.value}" />
            </xf:foreach>

        </xf:contentcheck>
        </ul>
    <xf:else />
        <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}" itemscope itemtype="https://schema.org/BreadcrumbList">
            <xf:macro name="crumb"
                arg-href="{$rootBreadcrumb.href}"
                arg-value="{$rootBreadcrumb.title}" />
        </ul>
    </xf:if>
</xf:macro>

<xf:macro name="crumb" arg-href="!" arg-value="!">
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
        <a href="{$href}" itemprop="item">
            <span itemprop="name">{$value}</span>
        </a>
    </li>
</xf:macro>


البته مشابهش بود:
کد:
 <xf:if is="property('publicFaviconUrl')">
        <link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl')) }}" sizes="32x32" />
    </xf:if>

منتهی نمیدونم با چی باید جایگزینش کنم
سلام
این مشکل شما متفاوته.
و در مورد فاویکون هست که ربطی به آیکون های نمایشی در استایل رو نداره.
خصوصی دسترسی بفرستید تا زودی چک کنم.
سپاس
 
ارسال کننده موضوعات مشابه انجمن پاسخ ها تاریخ
meysamxp درخواست درخواست افزونه تبدیل کلمه ای به کلمه دیگه و لینک دار کردن آن درخواست قالب و افزونه 1
C آموزش حذف کردن افزونه هایی که به دلایل Missing یا Unexpected حذف نمیشوند آموزش کار با افزونه ها 0
محمد آموزش آموزش عوض کردن رنگ عنوان سفارشی کاربر آموزش ها 1
محمد آموزش آموزش اضافه کردن آیکون به منوی جزئیات حساب کاربری آموزش تغییرات ظاهری 2
محمد آموزش ثابت کردن تعداد آراء مثبت و منفی در ارسالی‌ها (قابلیت موضوعات پرسش و پاسخ) آموزش تغییرات ظاهری 0
COMBECOM پشتیبانی فعال کردن اپلود عکس پشتیبانی XenForo 2.1 3
parsa ریدایرکت کردن در زنفورو گفتگو آزاد و خارج از موضوع 15
AAA پشتیبانی آموزش فعال کردن حسابهای متصل (گوگل) پشتیبانی XenForo 2.1 5
محمد آموزش اضافه کردن تعداد پاسخ و تعداد بازدید به موضوعات انجمن آموزش ها 0
محمد آموزش اضافه کردن شکلک‌های یاهو مسنجر به انجمن آموزش کار با سیستم و برنامه های رسمی 0
محمد آموزش اضافه کردن آیکن به نوار اصلی انجمن و منوی کاربری (آیکن هایی متفاوت از آموزش های قبلی) آموزش ها 0
GODFATHER درخواست کد متحرک کردن قوانین چت باکس گفتگو آزاد و خارج از موضوع 3
محمد آموزش اضافه کردن آیکن به فوتر آموزش تغییرات ظاهری 0
محمد آموزش اضافه کردن جلوه ی موج مانند به آواتار کاربران آموزش تغییرات ظاهری 0
محمد اضافه کردن آیکن Font Awesome به صفحه ی کاربران آموزش ها 0
محمد آموزش مربعی کردن آواتار کاربران مثل زنفورو نسخه ی 1 آموزش تغییرات ظاهری 0
محمد اضافه کردن دکمه ی ارسال فایل منابع در صفحه ی اصلی انجمن. آموزش ها 2
محمد ویژه اضافه کردن عنوان موضوع در ناوبار جهت بهتر کردن سئو و افزایش ایندکس مطالب در موتورهای جستجو (شبیه وردپرس) آموزش ها 21
محمد ویژه اضافه کردن آیکن Font Awesome به عنوان دسته های انجمن آموزش ها 0
محمد آموزش اضافه کردن دکمه ی انتقال به بالای سایت در قسمت فوتر انجمن آموزش تغییرات ظاهری 0
محمد آموزش آموزش اضافه کردن باکس های ..:: "هشدار" ، "مهم" ، "اخطار" ، "موفق" ، "اطلاعات" ، "ویرایش" ، "موضوع بیهوده" ، "کمک"::.. برای زیبا کردن پست ها !! آموزش ها 0
محمد آموزش آموزش اضافه کردن قابلیت نمایش نوع فایل و حجم فایل برای فایل های قرار گرفته شده در بخش منابع آموزش ها 0
محمد آموزش بلوری کردن کامل یا قسمتی از موضوعات(پست اول) برای مهمان ها آموزش تغییرات ظاهری 0
محمد آموزش آموزش قابلیت ارسال کردن مطالب خوراک خبری یک سایت یا انجمن دیگر در انجمن خودتان آموزش کار با سیستم و برنامه های رسمی 0
Roxana آموزش اضافه کردن نام موضوع و دسته بندی مانند انجمن پشتیبانی زنفورو xenforo.xyz آموزش ها 0
محمد آموزش آموزش اضافه کردن پیشوند به موضوعات آموزش کار با سیستم و برنامه های رسمی 0
GODFATHER پشتیبانی هرس کردن دستی چت باکس پشتیبانی XenForo 2.1 3
محمد آموزش اضافه کردن دکمه ی ارسال پاسخ در تولباکس تیتر موضوع (شبیه ویبولتین) آموزش تغییرات ظاهری 0
AAA آموزش آموزش اضافه کردن پیشوند به عنوان موضوع آموزش تغییرات ظاهری 1
محمد ویژه اضافه کردن آیکن انتقال دهنده به اولین پست در ارسالی ها آموزش ها 3
محمد آموزش آموزش غیرفعال کردن تایید 2 مرحله ای آموزش کار با سیستم و برنامه های رسمی 0
محمد آموزش اضافه کردن فاوآیکن به انجمن + تغییر لوگوی انجمن آموزش های اولیه و نصب 0
محمد آموزش شیک کردن بخش منابع/فایل ها (مشابه xenforo.xyz) آموزش تغییرات ظاهری 0
Dariush آموزش وسط چین کردن لوگو انجمن آموزش تغییرات ظاهری 0
محمد آموزش فعال کردن آنالیز گوگل برای انجمن ( Google Analytics ) آموزش های اولیه و نصب 0
محمد آموزش فعال کردن ورود از طریق گوگل برای انجمن آموزش کار با سیستم و برنامه های رسمی 0
Roxana آموزش رنگی کردن نوار مدیریت آموزش ها 6
V درخواست آموزش اضافه کردن بنز استارتر درخواست قالب و افزونه 1
Dariush آموزش سفارشی کردن اکشن بار ( افکت دادن) actionBar آموزش تغییرات ظاهری 0
Dariush آموزش اضافه کردن آیکون به حساب کاربری بازدیدکننده (منوی حساب کاربری) آموزش تغییرات ظاهری 3
Dariush آموزش چسبان ( شناور )کردن سایدبار آموزش تغییرات ظاهری 1
Dariush آموزش شکیل کردن آمار انجمن و آیکون دار کردن آنها آموزش تغییرات ظاهری 0
Dariush آموزش شناور کردن(مخفی کردن) اطلاعات کاربر در پست بیت (postbit) آموزش تغییرات ظاهری 1
Dariush آموزش سفارشی کردن هدر(گرادیان وشعاعی کردن) آموزش تغییرات ظاهری 1
aca آموزش اضافه کردن نمایش آمار کامل پاسخ و موضوعات آموزش تغییرات ظاهری 0
Hosein آموزش صدادار کردن قسمت های مکالمات و اطلاعیه های انجمن آموزش تغییرات ظاهری 0
Dariush آموزش آموزش غیر فعال کردن افزونه ها از طریق config.php آموزش کار با سیستم و برنامه های رسمی 1
Hosein پشتیبانی خطای سرور پشتیبانی XenForo 2.1 4
H پشتیبانی خطای سرور پشتیبانی XenForo 2.1 5
siamak پشتیبانی خطای سرور پشتیبانی XenForo 2.1 0

موضوعات مشابه

بالا