XF 1.5 Сделать форму логина обычными полями

w33k

Проверенные
Сообщения
37
Реакции
0
Баллы
703
Подскажите пожалуйста, хочу сделать чтобы в сайдбаре(sidebar_visitor_panel) была форма быстрого входа как на скриншоте
Знаю что есть подобный хак, но не охота грузиться лишними хаками, подскажите какие правки в шаблонах сделать
 

Вложения

  • 222.png
    222.png
    4.4 KB · Просмотры: 31
Подскажите пожалуйста, хочу сделать чтобы в сайдбаре(sidebar_visitor_panel) была форма быстрого входа как на скриншоте
Знаю что есть подобный хак, но не охота грузиться лишними хаками, подскажите какие правки в шаблонах сделать
Подскажите пожалуйста где именно, темплейт не дефолтный, но найти не могу
 

Вложения

  • 333.png
    333.png
    75.4 KB · Просмотры: 15
в этом нет, не во всех стилях есть такая возможность, но если воспользоваться поиском, то можно найти по форуму мануал на эту тему или плагин, все возможно, если немного постараться.
 
в этом нет, не во всех стилях есть такая возможность, но если воспользоваться поиском, то можно найти по форуму мануал на эту тему или плагин, все возможно, если немного постараться.
плагин видел, но не охота грузить лишними плагинами,
я так понял, что в sidebar_visitor_panel нужно прописать по сути два нескольких полей:
логин
пароль
радиобокс запоминать или нет
ссылка на восстановление
и кнопка входа
но танцы с бубном не помогают, может уже кто-то делал подобное?
 
плагин видел, но не охота грузить лишними плагинами,
я так понял, что в sidebar_visitor_panel нужно прописать по сути два нескольких полей:
логин
пароль
радиобокс запоминать или нет
ссылка на восстановление
и кнопка входа
но танцы с бубном не помогают, может уже кто-то делал подобное?
Я делал, можете по примеру реализовать:
sidebar_login
Код:
<xen:require css="xb_sidebar_login.css" />

<div class="section xbSidebarLogin">
    <div class="secondaryContent">
        <h3>{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase log_in_or_sign_up}, {xen:phrase log_in}}</h3>
        <form action="{xen:link 'login/login'}" method="post" class="xenForm">
            <div class="ctrlWrapper">
                <dl class="ctrlUnit">
                    <dt><label for="LoginControl">{xen:phrase your_name_or_email_address}:</label></dt>
                    <dd><input type="text" name="login" id="LoginControlSide" class="textCtrl" tabindex="201" /></dd>
                </dl>
            
                <dl class="ctrlUnit">
                    <dt>
                        <label for="ctrl_password">{xen:phrase password}:</label>
                    </dt>
                    <dd>
                        <input type="password" name="password" class="textCtrl" id="ctrl_passwordSide" tabindex="202" />
                        <div class="lostPasswordLogin"><a href="{xen:link lost-password}" class="OverlayTrigger OverlayCloser" tabindex="206">{xen:phrase forgot_your_password}</a></div>
                    </dd>
                </dl>
                
                <dl class="ctrlUnit submitUnit">
                    <dt><label for="ctrl_remember" class="rememberPassword"><input type="checkbox" name="remember" value="1" id="ctrl_rememberSide" tabindex="203" /> {xen:phrase stay_logged_in}</label></dt>
                    
                    <dd>
                    <center>
                        <input type="submit" class="button primary" value="{xen:phrase log_in}" tabindex="204" data-loginPhrase="{xen:phrase log_in}" data-signupPhrase="{xen:phrase sign_up}" />
                        <span style='padding-left:10px;'> </span>
                        <xen:if is="{$xenOptions.registrationSetup.enabled}">
                        <a href="{xen:link register}" tabindex="205" class="button primary xbSidebarRegister">{xen:phrase register}</a>
                        </xen:if>
                    </center>
                    </dd>
                    
                </dl>
            </div>
        
            <input type="hidden" name="cookie_check" value="1" />
            <input type="hidden" name="redirect" value="{$requestPaths.requestUri}" />
            <input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
        
        </form>

        <xen:include template="xb_social_logins" />

    </div>
</div>
 
Я делал, можете по примеру реализовать:
sidebar_login
Код:
<xen:require css="xb_sidebar_login.css" />

<div class="section xbSidebarLogin">
    <div class="secondaryContent">
        <h3>{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase log_in_or_sign_up}, {xen:phrase log_in}}</h3>
        <form action="{xen:link 'login/login'}" method="post" class="xenForm">
            <div class="ctrlWrapper">
                <dl class="ctrlUnit">
                    <dt><label for="LoginControl">{xen:phrase your_name_or_email_address}:</label></dt>
                    <dd><input type="text" name="login" id="LoginControlSide" class="textCtrl" tabindex="201" /></dd>
                </dl>
          
                <dl class="ctrlUnit">
                    <dt>
                        <label for="ctrl_password">{xen:phrase password}:</label>
                    </dt>
                    <dd>
                        <input type="password" name="password" class="textCtrl" id="ctrl_passwordSide" tabindex="202" />
                        <div class="lostPasswordLogin"><a href="{xen:link lost-password}" class="OverlayTrigger OverlayCloser" tabindex="206">{xen:phrase forgot_your_password}</a></div>
                    </dd>
                </dl>
              
                <dl class="ctrlUnit submitUnit">
                    <dt><label for="ctrl_remember" class="rememberPassword"><input type="checkbox" name="remember" value="1" id="ctrl_rememberSide" tabindex="203" /> {xen:phrase stay_logged_in}</label></dt>
                  
                    <dd>
                    <center>
                        <input type="submit" class="button primary" value="{xen:phrase log_in}" tabindex="204" data-loginPhrase="{xen:phrase log_in}" data-signupPhrase="{xen:phrase sign_up}" />
                        <span style='padding-left:10px;'> </span>
                        <xen:if is="{$xenOptions.registrationSetup.enabled}">
                        <a href="{xen:link register}" tabindex="205" class="button primary xbSidebarRegister">{xen:phrase register}</a>
                        </xen:if>
                    </center>
                    </dd>
                  
                </dl>
            </div>
      
            <input type="hidden" name="cookie_check" value="1" />
            <input type="hidden" name="redirect" value="{$requestPaths.requestUri}" />
            <input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
      
        </form>

        <xen:include template="xb_social_logins" />

    </div>
</div>

Спасибо, только не пойму почему не работает.
В шаблоне sidebar_visitor_panel изначально у меня такой код:
Код:
<xen:if is="{$visitor.user_id}">

<div class="section visitorPanel">
   <div class="secondaryContent">
  
       <xen:avatar user="$visitor" size="m" img="true" />
      
       <div class="visitorText">
           <h2>{xen:phrase signed_in_as_x_sidebar, 'name={xen:helper username, $visitor, 'NoOverlay'}'}</h2>      
           <div class="stats">
           <xen:hook name="sidebar_visitor_panel_stats">
               <dl class="pairsJustified"><dt>{xen:phrase messages}:</dt> <dd>{xen:number $visitor.message_count}</dd></dl>
               <dl class="pairsJustified"><dt>{xen:phrase likes}:</dt> <dd>{xen:number $visitor.like_count}</dd></dl>
               <xen:if is="{$xenOptions.enableTrophies}">
                   <dl class="pairsJustified"><dt>{xen:phrase points}:</dt> <dd>{xen:number $visitor.trophy_points}</dd></dl>
               </xen:if>
           </div>
           </xen:hook>
       </div>
      
   </div>
</div>

<xen:else />

<div class="section loginButton">      
   <div class="secondaryContent">
       <label for="LoginControl" id="SignupButton"><a href="{xen:link login}" class="inner{xen:if '@loginBarOverlay', ' OverlayTrigger'}">{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase sign_up_now}, {xen:phrase log_in}}</a></label>
   </div>
</div>

</xen:if>

<xen:include template="ad_sidebar_below_visitor_panel" />

я добавив ваш код получил что-то типа этого:
Код:
<xen:if is="{$visitor.user_id}">

<div class="section visitorPanel">
   <div class="secondaryContent">
           <h3>{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase log_in_or_sign_up}, {xen:phrase log_in}}</h3>
        <form action="{xen:link 'login/login'}" method="post" class="xenForm">
            <div class="ctrlWrapper">
                <dl class="ctrlUnit">
                    <dt><label for="LoginControl">{xen:phrase your_name_or_email_address}:</label></dt>
                    <dd><input type="text" name="login" id="LoginControlSide" class="textCtrl" tabindex="201" /></dd>
                </dl>
          
                <dl class="ctrlUnit">
                    <dt>
                        <label for="ctrl_password">{xen:phrase password}:</label>
                    </dt>
                    <dd>
                        <input type="password" name="password" class="textCtrl" id="ctrl_passwordSide" tabindex="202" />
                        <div class="lostPasswordLogin"><a href="{xen:link lost-password}" class="OverlayTrigger OverlayCloser" tabindex="206">{xen:phrase forgot_your_password}</a></div>
                    </dd>
                </dl>
              
                <dl class="ctrlUnit submitUnit">
                    <dt><label for="ctrl_remember" class="rememberPassword"><input type="checkbox" name="remember" value="1" id="ctrl_rememberSide" tabindex="203" /> {xen:phrase stay_logged_in}</label></dt>
                  
                    <dd>
                    <center>
                        <input type="submit" class="button primary" value="{xen:phrase log_in}" tabindex="204" data-loginPhrase="{xen:phrase log_in}" data-signupPhrase="{xen:phrase sign_up}" />
                        <span style='padding-left:10px;'> </span>
                        <xen:if is="{$xenOptions.registrationSetup.enabled}">
                        <a href="{xen:link register}" tabindex="205" class="button primary xbSidebarRegister">{xen:phrase register}</a>
                        </xen:if>
                    </center>
                    </dd>
                  
                </dl>
            </div>
      
            <input type="hidden" name="cookie_check" value="1" />
            <input type="hidden" name="redirect" value="{$requestPaths.requestUri}" />
            <input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
      
        </form>

        <xen:include template="xb_social_logins" />

    </div>
</div>
       <xen:avatar user="$visitor" size="m" img="true" />
      
       <div class="visitorText">
           <h2>{xen:phrase signed_in_as_x_sidebar, 'name={xen:helper username, $visitor, 'NoOverlay'}'}</h2>      
           <div class="stats">
           <xen:hook name="sidebar_visitor_panel_stats">
               <dl class="pairsJustified"><dt>{xen:phrase messages}:</dt> <dd>{xen:number $visitor.message_count}</dd></dl>
               <dl class="pairsJustified"><dt>{xen:phrase likes}:</dt> <dd>{xen:number $visitor.like_count}</dd></dl>
               <xen:if is="{$xenOptions.enableTrophies}">
                   <dl class="pairsJustified"><dt>{xen:phrase points}:</dt> <dd>{xen:number $visitor.trophy_points}</dd></dl>
               </xen:if>
           </div>
           </xen:hook>
       </div>
      
   </div>
</div>

<xen:else />

<div class="section loginButton">      
   <div class="secondaryContent">
       <label for="LoginControl" id="SignupButton"><a href="{xen:link login}" class="inner{xen:if '@loginBarOverlay', ' OverlayTrigger'}">{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase sign_up_now}, {xen:phrase log_in}}</a></label>
   </div>
</div>

</xen:if>

<xen:include template="ad_sidebar_below_visitor_panel" />

Но в сайдбаре ничего не изменилось, что-то с дивами не так?
 
Последнее редактирование модератором:
Спасибо, только не пойму почему не работает.
В шаблоне sidebar_visitor_panel изначально у меня такой код:

<xen:if is="{$visitor.user_id}">

<div class="section visitorPanel">
<div class="secondaryContent">

<xen:avatar user="$visitor" size="m" img="true" />

<div class="visitorText">
<h2>{xen:phrase signed_in_as_x_sidebar, 'name={xen:helper username, $visitor, 'NoOverlay'}'}</h2>
<div class="stats">
<xen:hook name="sidebar_visitor_panel_stats">
<dl class="pairsJustified"><dt>{xen:phrase messages}:</dt> <dd>{xen:number $visitor.message_count}</dd></dl>
<dl class="pairsJustified"><dt>{xen:phrase likes}:</dt> <dd>{xen:number $visitor.like_count}</dd></dl>
<xen:if is="{$xenOptions.enableTrophies}">
<dl class="pairsJustified"><dt>{xen:phrase points}:</dt> <dd>{xen:number $visitor.trophy_points}</dd></dl>
</xen:if>
</div>
</xen:hook>
</div>

</div>
</div>

<xen:else />

<div class="section loginButton">
<div class="secondaryContent">
<label for="LoginControl" id="SignupButton"><a href="{xen:link login}" class="inner{xen:if '@loginBarOverlay', ' OverlayTrigger'}">{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase sign_up_now}, {xen:phrase log_in}}</a></label>
</div>
</div>

</xen:if>

<xen:include template="ad_sidebar_below_visitor_panel" />


я добавив ваш код получил что-то типа этого:

<xen:if is="{$visitor.user_id}">

<div class="section visitorPanel">
<div class="secondaryContent">
<h3>{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase log_in_or_sign_up}, {xen:phrase log_in}}</h3>
<form action="{xen:link 'login/login'}" method="post" class="xenForm">
<div class="ctrlWrapper">
<dl class="ctrlUnit">
<dt><label for="LoginControl">{xen:phrase your_name_or_email_address}:</label></dt>
<dd><input type="text" name="login" id="LoginControlSide" class="textCtrl" tabindex="201" /></dd>
</dl>

<dl class="ctrlUnit">
<dt>
<label for="ctrl_password">{xen:phrase password}:</label>
</dt>
<dd>
<input type="password" name="password" class="textCtrl" id="ctrl_passwordSide" tabindex="202" />
<div class="lostPasswordLogin"><a href="{xen:link lost-password}" class="OverlayTrigger OverlayCloser" tabindex="206">{xen:phrase forgot_your_password}</a></div>
</dd>
</dl>

<dl class="ctrlUnit submitUnit">
<dt><label for="ctrl_remember" class="rememberPassword"><input type="checkbox" name="remember" value="1" id="ctrl_rememberSide" tabindex="203" /> {xen:phrase stay_logged_in}</label></dt>

<dd>
<center>
<input type="submit" class="button primary" value="{xen:phrase log_in}" tabindex="204" data-loginPhrase="{xen:phrase log_in}" data-signupPhrase="{xen:phrase sign_up}" />
<span style='padding-left:10px;'> </span>
<xen:if is="{$xenOptions.registrationSetup.enabled}">
<a href="{xen:link register}" tabindex="205" class="button primary xbSidebarRegister">{xen:phrase register}</a>
</xen:if>
</center>
</dd>

</dl>
</div>

<input type="hidden" name="cookie_check" value="1" />
<input type="hidden" name="redirect" value="{$requestPaths.requestUri}" />
<input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />

</form>

<xen:include template="xb_social_logins" />

</div>
</div>
<xen:avatar user="$visitor" size="m" img="true" />

<div class="visitorText">
<h2>{xen:phrase signed_in_as_x_sidebar, 'name={xen:helper username, $visitor, 'NoOverlay'}'}</h2>
<div class="stats">
<xen:hook name="sidebar_visitor_panel_stats">
<dl class="pairsJustified"><dt>{xen:phrase messages}:</dt> <dd>{xen:number $visitor.message_count}</dd></dl>
<dl class="pairsJustified"><dt>{xen:phrase likes}:</dt> <dd>{xen:number $visitor.like_count}</dd></dl>
<xen:if is="{$xenOptions.enableTrophies}">
<dl class="pairsJustified"><dt>{xen:phrase points}:</dt> <dd>{xen:number $visitor.trophy_points}</dd></dl>
</xen:if>
</div>
</xen:hook>
</div>

</div>
</div>

<xen:else />

<div class="section loginButton">
<div class="secondaryContent">
<label for="LoginControl" id="SignupButton"><a href="{xen:link login}" class="inner{xen:if '@loginBarOverlay', ' OverlayTrigger'}">{xen:if $xenOptions.registrationSetup.enabled, {xen:phrase sign_up_now}, {xen:phrase log_in}}</a></label>
</div>
</div>

</xen:if>

<xen:include template="ad_sidebar_below_visitor_panel" />


Но в сайдбаре ничего не изменилось, что-то с дивами не так?
Для начала нужно было бы создать отдельный шаблон или модификацию стиля и инклудить её непосредственно в основной шаблон, а то что вы делаете я не понимаю)
 
Для начала нужно было бы создать отдельный шаблон или модификацию стиля и инклудить её непосредственно в основной шаблон, а то что вы делаете я не понимаю)
И объединить эти действия в плагин, всего навсего для того что бы было все по полочкам, а не хаотично разбросано где попало и через неделю уже сложно вспомнить свои правки в шаблонах. Я к тому:
плагин видел, но не охота грузить лишними плагинами
Пойми, плагин не враг твой, это помощь для тебя, не ломайте движок тупыми правками шаблонов, используйте TMS, для этого она и существует. Уверен, что через какое то время придешь к этому, пока не набьешь своих шишек не поймешь :)

w33k, еще однострочный код, он и есть только для строчки, не надо засовывать туда массив кода.
 
Всем спасибо, но все же небольшими правками почти добился желаемого, есть небольшая загвоздка:
Код:
 <div class="secondaryContent">
        <h3>Enter</h3>
        <form id="pageLogin" method="post" action="login/login">
        <dl class="ctrlUnit">
        <dd>
            <label for="ctrl_pageLogin_login"> Login:</label>
        </dd>
        <dd>
            <input id="ctrl_pageLogin_login" class="textCtrl" type="text" value="" name="login">
        </dd>
               <dd>
            <label for="ctrl_pageLogin_registered_Disabler">Password:</label>
        </dd>
        <dd>
            <input id="ctrl_pageLogin_password" class="textCtrl" type="password" name="password">
                    <div>
                        <label class="rememberPassword" for="ctrl_pageLogin_remember">
                            <input id="ctrl_pageLogin_remember" type="checkbox" value="1" name="remember">
                            Remember me
                        </label>
                    </div>
        </dd>
        </dl>
        <br>
        <dl class="ctrlUnit submitUnit">
        <dd>
            <input class="button primary" type="submit" data-signupphrase="Sign Up" data-loginphrase="Войти" value="Войти">
            <br>
            <a class="OverlayTrigger OverlayCloser" href="lost-password/"> Lost password?</a>
        </dd>
        </dl>
        <input type="hidden" value="1" name="cookie_check">
        <input type="hidden" value="" name="_xfToken">
</form>

Все работает, но почему-то длина поля логина короче длины поля пароля, как их сделать одинаковыми? Где я ошибся?

И какой тег для многострочного кода? jsfiddle не хочет есть мой код
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу