avatar
0.00
0.000
Или хотя бы сначала просто перевести этот сайт на 1.1.
Даже если люди просто будут часто видеть топики об Альто, они однажды захотят попробовать движок на деле.
Хорошо бы презентовать релиз, да и представить сам движок, на хабре.
А нет, angelsmedia и занимался продажей шаблона. Тогда тем более свяжитесь.
Или же заказывайте доработку шаблона уже здесь, на сайте Альто.
Попробуйте связаться с angelsmedia, и объяснить ситуацию, быть может angelsmedia решит заняться адаптацией под Альто. Вероятнее всего кто-то продавал шаблон angelsmedia.
Так шаблон же вроде не родной? В смысле не от Альто. Уже говорилось, что шаблоны от ЛС не имеют полной совместимости с Альто, без каких-либо переделок, ибо функционал ЛС и Альто отличается. Как раз-таки ссылок на источники в ЛС нету. (только если плагином)
Согласен с Alyona, первое впечатление о движке для новоприбывшего пользователя создаёт именно внешний вид сайта самого движка, и сейчас он, как мне кажется, не на высшем уровне сделан. У Alyona получился отличный дизайн, надеюсь, что внешний вид сайта преобразиться. ) Движку действительно не мешал бы прилив пользователей, и, конечно, понятно, что на рекламу требуются средства, но, например, почему бы не объяалять свои релизы в том числе и на хабр, откуда сюда, имхо, может придти немалое количество пользователей.
«Убрать копирайты» оО
Я ошибся. На первом шаге перед всем этим кодом необходимо ещё добавить:
if (!$this->CheckUserProfile()) {
            return parent::EventNotFound();
        }
Добавил информацию со страницы профиля на стену, а сделал это так:
1. В файле ActionProfile.class.php добавил сразу после «public function EventWall() {»(Почему-то не вышло подключить EventWhois и EventInto на странице стены):
$this->sMenuSubItemSelect = 'main';

        // * Получаем список друзей
        $aUsersFriend = E::ModuleUser()->GetUsersFriend($this->oUserProfile->getId(), 1, Config::Get('module.user.friend_on_profile'));

        // * Если активен режим инвайтов, то загружаем дополнительную информацию
        if (Config::Get('general.reg.invite')) {
            // * Получаем список тех кого пригласил юзер
            $aUsersInvite = E::ModuleUser()->GetUsersInvite($this->oUserProfile->getId());
            E::ModuleViewer()->Assign('aUsersInvite', $aUsersInvite);

            // * Получаем того юзера, кто пригласил текущего
            $oUserInviteFrom = E::ModuleUser()->GetUserInviteFrom($this->oUserProfile->getId());
            E::ModuleViewer()->Assign('oUserInviteFrom', $oUserInviteFrom);
        }
        // * Получаем список юзеров блога
        $aBlogUsers = $this->_filterBlogUsers(
            E::ModuleBlog()->GetBlogUsersByUserId($this->oUserProfile->getId(), ModuleBlog::BLOG_USER_ROLE_USER)
        );
        $aBlogModerators = $this->_filterBlogUsers(
            E::ModuleBlog()->GetBlogUsersByUserId($this->oUserProfile->getId(), ModuleBlog::BLOG_USER_ROLE_MODERATOR)
        );
        $aBlogAdministrators = $this->_filterBlogUsers(
            E::ModuleBlog()->GetBlogUsersByUserId($this->oUserProfile->getId(), ModuleBlog::BLOG_USER_ROLE_ADMINISTRATOR)
        );

        // * Получаем список блогов которые создал юзер
        $aBlogsOwner = E::ModuleBlog()->GetBlogsByOwnerId($this->oUserProfile->getId());
        $aBlogsOwner = $this->_filterBlogs($aBlogsOwner);

        // * Получаем список контактов
        $aUserFields = E::ModuleUser()->GetUserFieldsValues($this->oUserProfile->getId());

        // * Вызов хуков
        E::ModuleHook()->Run('profile_whois_show', array("oUserProfile" => $this->oUserProfile));

        // * Загружаем переменные в шаблон
        E::ModuleViewer()->Assign('aBlogUsers', $aBlogUsers);
        E::ModuleViewer()->Assign('aBlogModerators', $aBlogModerators);
        E::ModuleViewer()->Assign('aBlogAdministrators', $aBlogAdministrators);
        E::ModuleViewer()->Assign('aBlogsOwner', $aBlogsOwner);
        E::ModuleViewer()->Assign('aUsersFriend', $aUsersFriend['collection']);
        E::ModuleViewer()->Assign('aUserFields', $aUserFields);
        E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('user_menu_profile') . ' ' . $this->oUserProfile->getLogin());
        E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('user_menu_profile_whois'));

2. В файле action.profile.wall.tpl после "{block name=«layout_profile_content»}" добавил нужную информацию со страницы профиля:
<div class="panel panel-default panel-table panel-user-activity flat">

        <div class="panel-body">

            <div class="panel-header">{$aLang.profile_activity}</div>

            <table class="table-profile-info">

                {if Config::Get('general.reg.invite') AND $oUserInviteFrom}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_invite_from}:</td>
                        <td>
                            <a href="{$oUserInviteFrom->getProfileUrl()}">{$oUserInviteFrom->getDisplayName()}</a> 
                        </td>
                    </tr>
                {/if}

                {if Config::Get('general.reg.invite') AND $aUsersInvite}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_invite_to}:</td>
                        <td>
                            {foreach $aUsersInvite as $oUserInvite}
                                <a href="{$oUserInvite->getProfileUrl()}">{$oUserInvite->getDisplayName()}</a>
                                 
                            {/foreach}
                        </td>
                    </tr>
                {/if}

                {if $aBlogsOwner}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_blogs_self}:</td>
                        <td>
                            {foreach $aBlogsOwner as $oBlog}
                                <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$oBlog@last}, {/if}
                            {/foreach}
                        </td>
                    </tr>
                {/if}

                {if $aBlogAdministrators}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_blogs_administration}:</td>
                        <td>
                            {foreach $aBlogAdministrators as $oBlogUser}
                                {$oBlog=$oBlogUser->getBlog()}
                                <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$oBlogUser@last}, {/if}
                            {/foreach}
                        </td>
                    </tr>
                {/if}

                {if $aBlogModerators}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_blogs_moderation}:</td>
                        <td>
                            {foreach $aBlogModerators as $oBlogUser}
                                {$oBlog=$oBlogUser->getBlog()}
                                <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$oBlogUser@last}, {/if}
                            {/foreach}
                        </td>
                    </tr>
                {/if}

                {if $aBlogUsers}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_blogs_join}:</td>
                        <td>
                            {foreach $aBlogUsers as $oBlogUser}
                                {$oBlog=$oBlogUser->getBlog()}
                                <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>{if !$oBlogUser@last}, {/if}
                            {/foreach}
                        </td>
                    </tr>
                {/if}

                {hook run='profile_whois_activity_item' oUserProfile=$oUserProfile}

                <tr>
                    <td class="text-muted cell-label">{$aLang.profile_date_registration}:</td>
                    <td>{date_format date=$oUserProfile->getDateRegister()}</td>
                </tr>

                {if $oSession}
                    <tr>
                        <td class="text-muted cell-label">{$aLang.profile_date_last}:</td>
                        <td>{date_format date=$oSession->getDateLast()}</td>
                    </tr>
                {/if}
            </table>

        </div>

    </div>
	{if $aUsersFriend}
    <div class="panel panel-default user-friends sidebar flat">

        <div class="panel-body">

            <div class="panel-header">
                <a href="{$oUserProfile->getProfileUrl()}friends/" class="user-friends link link-lead link-clear link-dark">{$aLang.profile_friends}</a>
            </div>

            {include file='commons/common.user_list_avatar.tpl' aUsersList=$aUsersFriend}
        </div>
        <div class="panel-footer">
            <a href="{$oUserProfile->getProfileUrl()}friends/" class="link link-dual link-lead link-clear">
                <i class="fa fa-users"></i>Все друзья ({$iCountFriendsUser})
            </a>
        </div>
    </div>

{/if}

3. Заменил ссылки на профиль в менюшках, добавив к адресу wall.
P.S. Если что, у меня бета версия с гитхаба. Может кто-нибудь подскажет как подключить EventWhois и EventInto на стене?
Зачем добавлять это в админку? Максимум в настройки шаблона, ибо этом меню вроде бы встречается только в этом шаблоне. Кроме того, вы не будете часто включать/выключать это меню, один раз и всё. Сделать это можно за пару секунд и без админки.
Или же закомментировать это(одну строчку): github.com/altocms/altocms/blob/2473181ec5191095d03ab647d8f989f1e0b5c375/common/templates/skin/experience/themes/default/layouts/default.tpl#L131
Ну и да, раз говоришь новичкам, то скажи им, как комментировать :) {* это комментарий *}