Впервые увидел эту возможность в настройках профиля после выхода (кажется второй) beta версии AltoCMS 1.0 в скине Synio (собственно тогда только он и был в коробке). Мне эта функция показалась очень полезной и нужной. Огорчению моему не было придела, когда я не нашел её в последующих релизах движка. Но собственно, как следовало ожидать, прикрутить возможность редактирования названия личного блога не составило особого труда. Итак.
Версия движка — 1.0.х,
Скин — проверял только в Experience.
В файл /common/templates/skin/ваш_скин/tpls/actions/settings/action.settings.profile.tpl, в нужное место (у меня это над «Основной информацией») вставляем следующий код:
{if $oUserCurrent->getBlog()}
<div class="form-group">
<h2 class="panel-header">{$aLang.settings_profile_section_blog}</h2>
<input type="text" name="blog_title" id="blog_title"
value="{$oUserCurrent->getBlog()->getBlogTitle()|escape:'html'}" class="form-control input-width-350">
</div>
{/if}
— и всё.
И походу вопрос: а можно ли как-то организовать, чтобы была возможность редактирования описания личного блога? И на сколько вообще это безопасно и правильно...?
UPD Весь код редактирования названия и описания Личного (персонального) Блога
(файл /common/templates/skin/ваш_скин/tpls/actions/settings/action.settings.profile.tpl):
{if $oUserCurrent->getBlog()}
<div class="form-group">
<h2 class="panel-header">Настройки личного блога</h2>
{* НАЗВАНИЕ БЛОГА *}
<input type="text" name="blog_title" id="blog_title"
value="{$oUserCurrent->getBlog()->getBlogTitle()|escape:'html'}" class="form-control input-width-350">
<small class="control-notice">Подсказка...</small>
{* ОПИСАНИЕ БЛОГА *}
<div class="input-group fill-width">
<textarea name="blog_description"
placeholder="{$oUserCurrent->getBlog()->getBlogDescription()}"
id="blog_description" rows="3"
class="form-control">{$_aRequest.blog_description}</textarea>
</div>
<small class="control-notice">Подсказка...</small>
</div>
{/if}
Для того, чтобы работала функция редактирования описания Блога, в файл
/common/classes/actions/ActionSettings.class.php после:
// * Обновляем название личного блога
$oBlog = $this->oUserCurrent->getBlog();
if (F::GetRequestStr('blog_title') && $this->checkBlogFields($oBlog)) {
$oBlog->setTitle(strip_tags(F::GetRequestStr('blog_title')));
$this->Blog_UpdateBlog($oBlog);
}
добавляем
// * Обновляем описание личного блога
$oBlog = $this->oUserCurrent->getBlog();
if (F::GetRequestStr('blog_description') && $this->checkBlogFields($oBlog)) {
$oBlog->setDescription(strip_tags(F::GetRequestStr('blog_description')));
$this->Blog_UpdateBlog($oBlog);
}
Вот сегодня один из пользователей обратился с вопросом: «Как мне завести свой блог?».
Пришлось объяснять, что у него «свой» блог уже есть, но возникли сопутствующие вопросы о смене названия блога с «Блог им. username» на что-то другое… Вот и вспомнилась вышеуказанная функция. А вот с изменением blog_description вопрос завис (не хватает тямы и времени).
А вообще, как посоветуете сделать? Отключить автоматическое создание персональных блогов и разрешить создание коллективных всем пользователям не зависимо от рейтинга?
Персональных в 1.0 уже по сути нет, вместо них -> /topics/created, что конечно нонсенс.