Подпишись к нам на RSS
Хаки для DLE → Альтернативное добавление полей в профиль пользователя
Автор: f15k0n3t | Просмотров (1732)
Предлагаю мануал, как добавить поля в профиль, не используя xfields.
НЕ кидайте помидорами, знаю xfields проще, но иногда не подходит :( как в моем случае. ИМХО, может кому и пригодится. Да и возможности форматирования при ручном способе куда обширнее.

Открываем templates\[Ваш шаблон]\userinfo.tpl

я например добавил поле "Место работы" (у мну корпоративный сайт)
выбираем подходящее место и вставляем тег, в моем случае
{erobota}



Опускаемя ниже под теги [not-logged]

и там также добавляем поле.

Если Вы не знаете HTML - можете скопировать конструкцию скажем "Место жительства" и поменять в ней тег
{land}

на свой.

Сохраняем, закрываем.

===================================

Заходим в базу MySQL и в таблицу dle_users добавляем поле erobota.
Например я использую Navicat 8 for SQL, в нём это делается так:
1) открываем базу
2) выделяем таблицу dle_users
3) в контексном меню выбираем Design Table
4) на панели жмём Add Field
5) в поле Name пишем erobota / поле Type=varchar / Length=100 / Decimals=0 / Allow Null галочку не ставим.
6) Чуть ниже настраиваем раскладку: Character set=cp1251 / Collation=cp1251_general_ci
7) Сохраняем, закрываем.

====================================

Лезем в engine\modules\profile.php

Ищем:

$land = $db->safesql($parse->process($_POST['land']));



и ниже добавляем

$erobota = $db->safesql($parse->process($_POST['erobota']));



идём ниже, ищем:

if (strlen($land) > 100)
{
$stop .= $lang['news_err_24'];
}



ниже добавляем:

if (strlen($erobota) > 100)
{
$stop .= $lang['news_err_24'];
}


опускаемся ниже, ищем:

fullname='$fullname', land='$land', icq='$icq',


заменяем на:

fullname='$fullname', land='$land', erobota='$erobota', icq='$icq',


опускаемся ниже, ищем:

$tpl->set('{land}', stripslashes($row['land']));


ниже добавляем:

$tpl->set('{erobota}', stripslashes($row['erobota']));



сохраняем, закрываем, всё готово, можете проверять.
Вместо тега erobota можно использовать любой тег, только учтите чтоб он нигде не встречался. Настройки формата поля в базе делайте под нужный тип данных.

 (голосов: 2)
Навигация
Всё для DLE
Шаблоны, Модули, Хаки
DataLife Engine
DLE
Всё для Datalife Engine
При копировании материала с сайта, ссылка на наш сайт обязательна, хотя бы для уважения наших релизеров которые добавляют различный материал