2016-01-05 229 views
0

我爲我的Joomla網站使用自定義模板,我想修改登錄模塊,以便用戶名框,密碼框和按鈕都顯示在一行而不是兩個。在收到用戶對Joomla論壇的迴應後,我會告訴我,模板重寫是使這個轉換順利進行的最佳方式,並且我將不得不手動修改PHP的登錄模塊。這是做到這一點的最好的唯一方式,還是有一種更簡單的方法。請參閱附帶的代碼文本文件。請儘快告訴我這件事。Joomla自定義登錄模塊覆蓋

<?php 
/** 
* @package  Joomla.Site 
* @subpackage mod_login 
* 
* @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved. 
* @license  GNU General Public License version 2 or later; see LICENSE.txt 
*/ 

defined('_JEXEC') or die; 

require_once JPATH_SITE . '/components/com_users/helpers/route.php'; 

JHtml::_('behavior.keepalive'); 
JHtml::_('bootstrap.tooltip'); 

?> 
<form action="<?php echo JRoute::_(htmlspecialchars(JUri::getInstance()->toString()), true, $params->get('usesecure')); ?>" method="post" id="login-form" class="form-inline"> 
    <?php if ($params->get('pretext')) : ?> 
     <div class="pretext"> 
      <p><?php echo $params->get('pretext'); ?></p> 
     </div> 
    <?php endif; ?> 
    <div class="userdata"> 
     <div id="form-login-username" class="control-group"> 
      <div class="controls"> 
       <?php if (!$params->get('usetext')) : ?> 
        <div class="input-prepend"> 
         <span class="add-on"> 
          <span class="icon-user hasTooltip" title="<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?>"></span> 
          <label for="modlgn-username" class="element-invisible"><?php echo JText::_('MOD_LOGIN_VALUE_USERNAME'); ?></label> 
         </span> 
         <input id="modlgn-username" type="text" name="username" class="input-small" tabindex="0" size="18" placeholder="<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?>" /> 
        </div> 
       <?php else: ?> 
        <label for="modlgn-username"><?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?></label> 
        <input id="modlgn-username" type="text" name="username" class="input-small" tabindex="0" size="18" placeholder="<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?>" /> 
       <?php endif; ?> 
      </div> 
     </div> 
     <div id="form-login-password" class="control-group"> 
      <div class="controls"> 
       <?php if (!$params->get('usetext')) : ?> 
        <div class="input-prepend"> 
         <span class="add-on"> 
          <span class="icon-lock hasTooltip" title="<?php echo JText::_('JGLOBAL_PASSWORD') ?>"> 
          </span> 
           <label for="modlgn-passwd" class="element-invisible"><?php echo JText::_('JGLOBAL_PASSWORD'); ?> 
          </label> 
         </span> 
         <input id="modlgn-passwd" type="password" name="password" class="input-small" tabindex="0" size="18" placeholder="<?php echo JText::_('JGLOBAL_PASSWORD') ?>" /> 
        </div> 
       <?php else: ?> 
        <label for="modlgn-passwd"><?php echo JText::_('JGLOBAL_PASSWORD') ?></label> 
        <input id="modlgn-passwd" type="password" name="password" class="input-small" tabindex="0" size="18" placeholder="<?php echo JText::_('JGLOBAL_PASSWORD') ?>" /> 
       <?php endif; ?> 
      </div> 
     </div> 
     <?php if (count($twofactormethods) > 1): ?> 
     <div id="form-login-secretkey" class="control-group"> 
      <div class="controls"> 
       <?php if (!$params->get('usetext')) : ?> 
        <div class="input-prepend input-append"> 
         <span class="add-on"> 
          <span class="icon-star hasTooltip" title="<?php echo JText::_('JGLOBAL_SECRETKEY'); ?>"> 
          </span> 
           <label for="modlgn-secretkey" class="element-invisible"><?php echo JText::_('JGLOBAL_SECRETKEY'); ?> 
          </label> 
         </span> 
         <input id="modlgn-secretkey" autocomplete="off" type="text" name="secretkey" class="input-small" tabindex="0" size="18" placeholder="<?php echo JText::_('JGLOBAL_SECRETKEY') ?>" /> 
         <span class="btn width-auto hasTooltip" title="<?php echo JText::_('JGLOBAL_SECRETKEY_HELP'); ?>"> 
          <span class="icon-help"></span> 
         </span> 
       </div> 
       <?php else: ?> 
        <label for="modlgn-secretkey"><?php echo JText::_('JGLOBAL_SECRETKEY') ?></label> 
        <input id="modlgn-secretkey" autocomplete="off" type="text" name="secretkey" class="input-small" tabindex="0" size="18" placeholder="<?php echo JText::_('JGLOBAL_SECRETKEY') ?>" /> 
        <span class="btn width-auto hasTooltip" title="<?php echo JText::_('JGLOBAL_SECRETKEY_HELP'); ?>"> 
         <span class="icon-help"></span> 
        </span> 
       <?php endif; ?> 

      </div> 
     </div> 
     <?php endif; ?> 
     <?php if (JPluginHelper::isEnabled('system', 'remember')) : ?> 
     <div id="form-login-remember" class="control-group checkbox"> 
      <label for="modlgn-remember" class="control-label"><?php echo JText::_('MOD_LOGIN_REMEMBER_ME') ?></label> <input id="modlgn-remember" type="checkbox" name="remember" class="inputbox" value="yes"/> 
     </div> 
     <?php endif; ?> 
     <div id="form-login-submit" class="control-group"> 
      <div class="controls"> 
       <button type="submit" tabindex="0" name="Submit" class="btn btn-primary"><?php echo JText::_('JLOGIN') ?></button> 
      </div> 
     </div> 
     <?php 
      $usersConfig = JComponentHelper::getParams('com_users'); ?> 
      <ul class="unstyled"> 
      <?php if ($usersConfig->get('allowUserRegistration')) : ?> 
       <li> 
        <a href="<?php echo JRoute::_('index.php?option=com_users&view=registration&Itemid=' . UsersHelperRoute::getRegistrationRoute()); ?>"> 
        <?php echo JText::_('MOD_LOGIN_REGISTER'); ?> <span class="icon-arrow-right"></span></a> 
       </li> 
      <?php endif; ?> 
       <li> 
        <a href="<?php echo JRoute::_('index.php?option=com_users&view=remind&Itemid=' . UsersHelperRoute::getRemindRoute()); ?>"> 
        <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_USERNAME'); ?></a> 
       </li> 
       <li> 
        <a href="<?php echo JRoute::_('index.php?option=com_users&view=reset&Itemid=' . UsersHelperRoute::getResetRoute()); ?>"> 
        <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_PASSWORD'); ?></a> 
       </li> 
      </ul> 
     <input type="hidden" name="option" value="com_users" /> 
     <input type="hidden" name="task" value="user.login" /> 
     <input type="hidden" name="return" value="<?php echo $return; ?>" /> 
     <?php echo JHtml::_('form.token'); ?> 
    </div> 
    <?php if ($params->get('posttext')) : ?> 
     <div class="posttext"> 
      <p><?php echo $params->get('posttext'); ?></p> 
     </div> 
    <?php endif; ?> 
</form> 
+0

的變化應作爲模板覆蓋。你可以浮動'.control-group'類,但它也取決於模板中的容器,它可以有一個設置的寬度,並且不允許字段浮動。我知道在Joomla 3.4管理登錄表單上,你不能在不修改容器的情況下浮動div。 –

回答

0

您可以通過模板覆蓋做到這一點的建議,但它也可以通過簡單地添加了一些新的樣式規則,以你的CSS做。像下面的代碼的東西應該做到這一點:

.userdata .control-group{float:left;} 

(見this fiddle的工作示例)