XF 2.2 Перенос футера в виджет

Версия XenForo
2.2.17

Adguest

Проверенные
Сообщения
620
Решения
10
Реакции
103
Баллы
105
Делаю модификацию в шаблоне PAGE_CONTAINER

Штатный код футера

Код:
<footer class="p-footer" id="footer">
    <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.cookieConsent.getMode() == 'advanced'">
                            <li><a href="{{ link('misc/cookies') }}" rel="nofollow"
                                data-xf-init="tooltip" title="{{ phrase('cookie_consent')|for_attr }}"
                                data-xf-click="cookie-consent-toggle">
                                <xf:fa icon="fa-cookie" /> {{ phrase('cookie_consent_label') }}
                            </a></li>
                        </xf:if>
                        <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">
                                <xf:fa icon="fa-paint-brush" /> {$xf.style.title}
                            </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">
                                <xf:fa icon="fa-globe" /> {$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"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
                </ul>
            </div>
        </div>

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

        <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>
</footer>

Добавляю к нему условие <xf:macro name="footer">код футера выше </xf:macro>

Далее, создаю виджет html и вставляю туда код <xf:macro template="PAGE_CONTAINER" name="footer" /> или <xf:include template="PAGE_CONTAINER" name="footer" />

Но все эти действия не отображают футер, что делаю не так ?
 
Можно поделиться решением для других.
Без проблем

Модификация в шаблоне PAGE_CONTAINER

Найти:
Код:
<footer class="p-footer" id="footer">
    <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.cookieConsent.getMode() == 'advanced'">
                            <li><a href="{{ link('misc/cookies') }}" rel="nofollow"
                                data-xf-init="tooltip" title="{{ phrase('cookie_consent')|for_attr }}"
                                data-xf-click="cookie-consent-toggle">
                                <xf:fa icon="fa-cookie" /> {{ phrase('cookie_consent_label') }}
                            </a></li>
                        </xf:if>
                        <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">
                                <xf:fa icon="fa-paint-brush" /> {$xf.style.title}
                            </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">
                                <xf:fa icon="fa-globe" /> {$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"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
                </ul>
            </div>
        </div>

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

        <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>
</footer>

Заменить на:

Код:
<xf:macro name="footer_widget"><footer class="p-footer" id="footer">
    <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.cookieConsent.getMode() == 'advanced'">
                            <li><a href="{{ link('misc/cookies') }}" rel="nofollow"
                                data-xf-init="tooltip" title="{{ phrase('cookie_consent')|for_attr }}"
                                data-xf-click="cookie-consent-toggle">
                                <xf:fa icon="fa-cookie" /> {{ phrase('cookie_consent_label') }}
                            </a></li>
                        </xf:if>
                        <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">
                                <xf:fa icon="fa-paint-brush" /> {$xf.style.title}
                            </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">
                                <xf:fa icon="fa-globe" /> {$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"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
                </ul>
            </div>
        </div>

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

        <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>
</footer></xf:macro>

В виджетах создать - виджет HTML
Если нужно обернуть классами то включаем расширенный режим, если нет, по умолчанию. Вставить

Код:
<xf:macro template="PAGE_CONTAINER" name="footer_widget" />
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу