Мне нужно изменить страницу входа в WHMCS, так как текущая немного сбивает с толку всеми теми дополнительными параметрами, которые лучше отображать после входа пользователя в систему. Я хочу изменить clientarea.php, чтобы просто отображать небольшое диалоговое окно (выглядело бы круто после того, как я добавлю css и немного jquery) на всю страницу, которая просит пользователя войти в систему. Я пытался найти файл tpl специально для clientarea, но не смог его найти. Файл clientarea.php закодирован, поэтому его нельзя редактировать. Есть предположения?
Пользовательская страница входа в WHMCS
Ответы (7)
Лучше всего редактировать login.tpl
а затем просто имея внутри диалогового окна
<form action="{$systemsslurl}dologin.php?goto=clientarea.php" method="post" name="frmlogin">
<label>Email address</label>
<input type="email" name="username" placeholder="Your Email">
<label>Password</label>
<input type="password" name="password">
<button type="submit">Login</button>
</form>
<a href="/pwreset.php" >Forgotten your Password? Click Here</a>
Вышеупомянутая форма может быть помещена в любой tpl-файл и будет работать должным образом. Примечание: предложение ?goto можно использовать для перенаправления вошедшего в систему пользователя, мы используем это для возврата пользователя к /cart.php?a=checkout, когда они готов купить.
Вы можете использовать jQuery.append() и пользовательские теги в файлах .TPL.
Клиентская область разделена на несколько разных файлов шаблонов. Файлы, на которые, я думаю, вам следует обратить внимание, это header.tpl, login.tpl и footer.tpl. Вам также следует ознакомиться с документацией WHMCS по адресу http://docs.whmcs.com/Client_Area_Template_Files и http://docs.whmcs.com/Developer_Resources#Display_Customisation. WHMCS также предлагает поддержку таких вещей.
Я думаю, что проще всего использовать переменные, уже установленные в Smarty.
Переменная $loginpage возвращает значение true, если отображается страница входа.
В header.tpl используйте следующий код для контента, который вы не хотите показывать на странице входа:
{if $loginpage ne "true"}
//nav menu etc
{/if}
Вы также можете использовать это в нижнем колонтитуле таким же образом. Тогда это просто случай изменения login.tpl в соответствии с вашими потребностями.
Если вы хотите показать другой верхний и нижний колонтитулы на странице входа, вы можете добавить оператор else следующим образом:
{if $loginpage ne "true"}
//nav menu etc
{else}
//Different Content
{/if}
Источники: {debug} — выводит все переменные Smarty в окно.
Вы можете просто создать свою собственную новую пользовательскую страницу (php + файл шаблона) для своего входа в систему и подтвердить вход пользователя с помощью функций API WHMCS.
Как создать пользовательскую страницу: http://forum.whmcs.com/showthread.php?20267-Creating-Custom-Pages
API проверки входа: http://docs.whmcs.com/API:Validate_Login
Очень просто.
Поскольку я создал ajax-логин в WHMCS Clientarea.
Создайте в корне файл с именем ajaxlogin.php и проверьте почту с зашифрованным паролем, после чего установите uid сессии и upw (хэш пароля). это все.
Во-первых, вы должны знать, какую версию клиента вы используете. Чтобы сделать это в версии 5.3.6, перейдите на вкладку «Настройка», нажмите «Общие настройки» и «Просмотреть шаблон».
Это в источнике находится в /whmcs/templates
Вы можете скопировать каталог и создать свой собственный каталог шаблонов, и он появится в общих настройках.
Как только вы это сделаете, вам, вероятно, придется изменить несколько страниц, чтобы получить желаемый эффект.