How do I change the layout of a Profile page or have it use a specific page type?

Permalink
I have a custom theme built for our company and I'm pretty new to C5. I love C5 overall but I'm not a developer so I struggle.

I don't like the current Profile page. Everything seems to be squished to the left with a gaping hole in the middle of the page (see attached). I'm not sure if something is supposed to go there or if there is a layout problem. Either way, it looks terrible.

Can I apply an existing page type to the profile page? I basically want an easy way for users to update their password and maybe add some personal information without it being all squished left.

1 Attachment

 
mkly replied on at Permalink Reply
mkly
AFAIK you can't use a page template for the "profile" page.

That said you can override this page with your own page. It would be somewhat difficult for someone who doesn't have much tech experience. If you would like to try there is a file

/concrete/singe_pages/profile/view.php

It also includes a sidebar in
/concrete/elements/profile/sidebar.php


You can "override" these by copying these files to
/single_pages/profile/view.php

and
/elements/profile/sidebar.php


And editing these copied files.

You can take a look at these files and see if this is something you can do you might want to contract this out.
Steevb replied on at Permalink Reply
Steevb
The squished bit at the side is the sidebar. The bit in middle holds your content, when you fill it in with your.....content.

Once you start using it you will see what I mean.

Also when and if you send messages to one another they appear in the middle bit.

Hope that helps

Steev
Shotster replied on at Permalink Reply
Shotster
In addition to what mkly described, you can also override the profile page entirely within your theme. Just place a file called "profile.php" at the root of your theme directory. Please note that this approach COMPLETELY overrides the profile page, so you'll likely want to include header.php and footer.php. Then in between the header and footer, put what you would normally find in "single_pages/profile/view.php". Thus, your entire profile.php file might look something like the following to start...

<?php defined('C5_EXECUTE') or die("Access Denied."); ?>
<?php $this->inc('elements/header.php'); ?>
<div id="ccm-profile-wrapper">
    <? Loader::element('profile/sidebar', array('profile'=> $profile)); ?>    
    <div id="ccm-profile-body">   
       <div id="ccm-profile-body-attributes">
       <div class="ccm-profile-body-item">
        <h1><?=$profile->getUserName()?></h1>
        <?
        $uaks = UserAttributeKey::getPublicProfileList();
        foreach($uaks as $ua) { ?>
            <div>
                <label><?=$ua->getKeyName()?></label>
                <?=$profile->getAttribute($ua, 'displaySanitized', 'display'); ?>
            </div>

Then edit and customize from there.

-Steve
Dominika replied on at Permalink Reply
Thanks for starting this thread, I can see I am not the only one who wants to change the profile page. The left sidebar is not a block so I cannot edit it's design. I also cannot access the web files themselves to change them so this is not an option. Is there any other way of changing the design so there is more padding around this left sidebar - as I said this part is not clickable at all in edit mode.