вопрос
Здравствуйте! Подскажите пожалуйста как сделать так, чтобы редактирование данных происходило не на персональной странице пользователя, а на отдельной странице?
Извините если некорректно поставил вопрос. Спасибо.
Извините если некорректно поставил вопрос. Спасибо.
Был у меня такой вопрос и вот его решение
1. .htaccess
После:
Код:
Добавить:
Код:
2. engine/modules/profile.php
Найти:
Ниже добавить:
Найти:
Добавить в IF условие
Вот что должно получиться:
3. templates/{THEME}/userinfo.tpl
Заключить код профиля в теги [profile] и [/profile], а найстройки в [settings] и [/settings]
4.в profile.php редактировать тег ))
1. .htaccess
После:
Код:
RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
Добавить:
Код:
RewriteRule ^user/([^/]*)/settings(/?)+$ index.php?subaction=userinfo&user=$1&a=settings [L]
2. engine/modules/profile.php
Найти:
$tpl->set( '{hidemail}', "<input type=\"checkbox\" name=\"allow_mail\" value=\"1\" " . $mailbox . " /> " . $lang['news_noamail'] );
$tpl->set( '{usertitle}', stripslashes( $row['name'] ) );
$tpl->set( '{fullname}', stripslashes( $row['fullname'] ) );
Ниже добавить:
if ($_REQUEST['a'] == 'settings') {
$tpl->set( '[settings]', "" );
$tpl->set( '[/settings]', "" );
$tpl->set_block( "'\\[profile\\](.*?)\\[/profile\\]'si", "" );
} else {
$tpl->set( '[profile]', "" );
$tpl->set( '[/profile]', "" );
$tpl->set_block( "'\\[settings\\](.*?)\\[/settings\\]'si", "" );
}
Найти:
if($is_logged and ($member_id['user_id'] == $row['user_id'] or $member_id['user_group'] == 1)) {
$tpl->copy_template = "<form method=\"post\" name=\"userinfo\" id=\"userinfo\" enctype=\"multipart/form-data\" action=\"\">" . $tpl->copy_template . "
<input type=\"hidden\" name=\"doaction\" value=\"adduserinfo\" />
<input type=\"hidden\" name=\"id\" value=\"{$row['user_id']}\" />
<input type=\"hidden\" name=\"dle_allow_hash\" value=\"{$dle_login_hash}\" />
</form>";
}
Добавить в IF условие
AND ($_REQUEST['a'] == "settings")
Вот что должно получиться:
if( $is_logged and ($member_id['user_id'] == $row['user_id'] or $member_id['user_group'] == 1) and ($_REQUEST['a'] == "settings") ) {
$tpl->copy_template = "<form method=\"post\" name=\"userinfo\" id=\"userinfo\" enctype=\"multipart/form-data\" action=\"\">" . $tpl->copy_template . "
<input type=\"hidden\" name=\"doaction\" value=\"adduserinfo\" />
<input type=\"hidden\" name=\"id\" value=\"{$row['user_id']}\" />
<input type=\"hidden\" name=\"dle_allow_hash\" value=\"{$dle_login_hash}\" />
</form>";
}
3. templates/{THEME}/userinfo.tpl
Заключить код профиля в теги [profile] и [/profile], а найстройки в [settings] и [/settings]
4.в profile.php редактировать тег ))
if( $is_logged and ($member_id['user_id'] == $row['user_id'] or $member_id['user_group'] == 1) ) {
$tpl->set( '{edituser}', "<a href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/settings/\">" . $lang['news_option'] . "</a> " );
} else
$tpl->set( '{edituser}', "" );